배열을 인수로 사용하는 테스트 함수가 있습니다. 그리고 나는 포인터의 배열을 가지고있다. 누군가 그것을 전달할 때 왜 포인터 배열에 대한 포인터를 추론해야하는지 설명 할 수 있습니까?포인터 배열에 포인터 전달
void test(States a[]){
cout << a[0].name << endl;
cout << a[1].name << endl;
}
test()
가 호출 : 명확하게 인수 유형이 테스트 함수의 인수가 너무
void test(States *a[]);
그러나 귀하의 경우를 기대하는 경우가 역 참조 할 필요가 없습니다
States *pStates[MAX_STATES];
test(*pStates); //Or test(pStates[0])
//Can't do test(pStates);
감사를 참조하십시오. 이것은 정확하게 내가 찾던 설명이 아니 었습니다. 나는 그것을 알아 냈다.'pStates'는 객체에 대한 포인터를 가리키는 포인터이고, 그것을 배열을 받아들이는 함수에 건네줌으로써, 객체에 대한 포인터를 얻기 위해'pStates'를 역 참조 할 필요가있다. 거기에서 배열 인덱싱을 사용하는 포인터 연산뿐입니다. –