請不要標記爲重複的,雖然也存在類似的問題,但它們要麼使用指針來回答,要麼沒有解決我遇到的問題,要麼涉及語言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中推薦的解決方案,但它並不適用於我,因爲我無法對另一個問題發表評論,所以我必須提出一個新問題。我會等到我能問我的教授格拉茲。
是否必須擁有一個數組?如果不嘗試聲明'StructA'的'std :: vector'並將'std :: vector &container'傳遞給你的函數。 –