ある構造体配列を関数に渡し、渡した関数で引数の構造体配列をコピーする、という事を
行いたいのですが、エラーが出てしまいます。
どのようにしたら問題を解決できるかをご教授いただきたいと思います。
以下に簡単なサンプルプログラムを記載します。
#include <stdio.h> struct ST{ int a; }; class A{ ST clA[10]; public: void Draw( ST st_a ); }; void A::Draw( ST st_a ){ // 構造体のコピー clA = st_a; for(int i=0; i<10; i++){ printf("%d", clA.a); } } void main(){ A a; ST st_data[10]; for(int i=0; i<10; i++){ st_data.a=i+1; } a.Draw( st_data ); getchar(); }
コンパイルすると
error C2440: '=' : 'ST' から 'ST [10]' に変換できません。
error C2664: 'A::Draw' : 1 番目の引数を 'ST [10]' から 'ST' に変換できません。
というエラーが表示されます。
どういうエラーが出ているかはわかるのですが、解決方法が思いつきません。
どうぞよろしくお願いします。