fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. const int MAX = 10; // 컴파일 타임 상수여야만 하지요.
  5.  
  6. // void tyhan(int matrix[MAX][]){ 틀림!
  7. void tyhan(int matrix[][MAX]){ // 첫째 []만 비울 수 있습니다. 그 뒤부터는 채워 줘야 함
  8. cout << "tyhan" << endl; // 고차원 배열의 구현원리를 알면 이해할 수 있죠.
  9. return;
  10. }
  11.  
  12. void func1(int (&a)[MAX][MAX]){ // 좀더 C++답게 짤 수도 있어요.
  13. cout << "func1" << endl; // 전달하고자 하는 타입의 참조자로 만드는 거죠.
  14. return;
  15. }
  16.  
  17. void func2(const int (&b)[MAX][MAX]){ // 파라미터를 바꾸게 하고 싶지 않다면,
  18. cout << "func2" << endl; // const가 좋은 선택입니다.
  19. return;
  20. }
  21.  
  22. typedef int array_2d_t[MAX][MAX]; // 누구나 복잡한 C++ 선언 문법을 100% 아는 건 아니죠.
  23. void func3(array_2d_t &c){ // 초보자를 배려합시다. 이러면 읽기도 더 쉽고...
  24. cout << "func3" << endl;
  25. return;
  26. }
  27.  
  28. typedef const int const_array_2d_t[MAX][MAX]; // 마찬가지.
  29. void func4(const_array_2d_t &d){
  30. cout << "func4" << endl;
  31. return;
  32. }
  33.  
  34. int main() {
  35. int arr[MAX][MAX];
  36. tyhan(arr);
  37. func1(arr);
  38. func2(arr);
  39. func3(arr);
  40. func4(arr);
  41. return 0;
  42. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
tyhan
func1
func2
func3
func4