< 質問内容 >
変数を他のクラスのコンストラクタへ参照渡しを行いたいのですが、
動的配列を使用したときどのようにして渡せばいいのか
教えて頂けないでしょうか?
// これはOK
main()
{
int a;
CMyClass* b;
// 処理を記述後、他のクラスへ値を渡す
b = new CMyClass(&a);
}
class MyClass{
int* c;
MyClass(int* a)
{ c = a; }
};
// これはNG
main()
{
int* a;
CMyClass* b;
// 処理を記述後、他のクラスへ値を渡す
a = new int[4];
b = new CMyClass(&(a[]));
}
class MyClass{
int** c;
MyClass(int* (a[]))
{ *c = a; }
};
< 開発環境 >
OS:Windows XP Pro SP2
言語:Visual C++ 6.0 SP6
class MyClass{
int* c;
public:
MyClass(int* a) : c(a) {}
};
main()
{
int* a;
CMyClass* b;
// 処理を記述後、他のクラスへ値を渡す
a = new int[4];
b = new CMyClass(a);
...
}
…これでダメなんすか?
επιστημηεπιστημη様
ご回答ありがとうございます。
無事、できました。
複数個の変数を渡すときは、下記のコードでできました。
class MyClass{
int* d;
int* e;
public:
MyClass(int* a, int* b) : d(a), e(b)
{}
};
main()
{
int* a;
int* b;
CMyClass* c;
// 処理を記述後、他のクラスへ値を渡す
a = new int[4];
b = new int[4];
c = new CMyClass(a, b);
...
}
大変ありがとうございました。