重複してマークしないでください。似たような質問がありますが、ポインタを使用して回答したり、同じ問題に対処したり、 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で推奨されている解決策を試してみましたが、それは私にとってはうまくいかず、他の質問ではコメントできませんので、新しい質問をしなければなりません。私は教授、グラージーに尋ねることができるまで待つだけです。
配列を持つ必要がありますか?そうでない場合は、 'StructD'の' std :: vector 'を宣言し、関数に' std :: vector &container'を渡してみてください。 –