2D 배열을 함수에 전달하는 방법에 대한 질문이 있습니다.
C++ 배열 및 함수
는 나는이 같은 일을 할 수 알고 :
void print(int a[][20]){
cout << "print 1" << a[10][10] << endl;
}
int main(){
int a[20][20];
print(a);
cout << "print 2" << *(*(a+10)+10) << endl;
}
인쇄 1과 2는 나에게 같은 결과를 제공해야합니다.
올바른 경우 2D 포인터입니다.
하지만 내가 할 수없는이
void print(int** a){
}
int main(){
int a[20][20];
print(a);
cout << "print 2" << *(*(a+10)+10) << endl;
}
오류는 다음과 같습니다
cannot convert ‘int (*)[20]’ to ‘int**’ for argument ‘1’ to ‘void print_int(int**)’
내가 이것을 왜 할 수 없어? 당신은 배열 표기하지 포인터 배열로 표기법을 사용한다
이렇게하면됩니다 : void print (const std :: vector>). HTH. –
이것은 C/C++로 시작할 때 매우 일반적인 오류입니다. –
고마워요. – sflee