중복되는 것으로 표시하지 마십시오. 비슷한 질문이 있지만 포인터를 사용하여 응답하거나 동일한 문제를 해결하지 않았거나 언어 C 대신 C++.C++ : 구조체의 배열을 참조로 함수에 전달
구조체 배열을 함수에 전달하려고하는데 이렇게하려고하면 declaration of ‘a’ as array of references
오류가 발생합니다. 나는 문제가 컴파일러가 구조체 대신 배열로 읽는다는 사실에 있다고 생각하지만이 문제를 해결하는 방법을 모르겠습니다.
struct StructA {
string name;
float income;
int amount;
}
메인 내에서이 구조체 선언 :
StructA a[15];
을 그리고 같은 함수에 전달하고있다 :
void FunctionA(StructA& a[], int& count) { //& to pass by reference
}
나는 세 가지 요소의 구조체를 정의 또한 StructA의 정의 바로 아래에 위의 함수에 대한 프로토 타입이 있습니다.
내가 뭘 잘못하고 있니?
편집 : 누군가 다른 사람의 질문으로이 질문을 표시했습니다. 그렇지 않습니다. 나는 프로그래밍 수업에 대한 소개에있어, 그리고 내가 분명히 말했듯이, 나는 포인터를 사용할 수 없다. 다른 질문에서 사용하는 것이 무엇인지 생각해보십시오. 포인터. 차이점을 보시겠습니까? 더욱 더 실용적인 수준에서 나는 이미 Pass a dynamic array of objects to function에서 권장되는 해결책을 시도했지만 나에게 도움이되지 못했고 다른 질문에서 언급 할 수 없기 때문에 새로운 질문을해야합니다. 나는 교수님에게 물어볼 수있을 때까지 기다릴 것입니다, grazie.
배열이 있어야하나요?그렇지 않다면'StructD'의'std :: vector'을 선언하고 함수에'std :: vector & container'를 전달하십시오. –