通知
すべてクリア
Topic starter
2000年6月6日 1:25 PM
CArrayの使い方がわからなくて困っています。
#include <iostream.h>
#include <afxtempl.h>
class A
{
public:
int m;
int n;
};
class B
{
public:
int a;
CArray <A, A> caA;
};
class C
{
public:
CArray <B, B> caB;
};
void main()
{
C x;
B y;
y = x.caB.GetAt(0); // ★
}
上のソースをコンパイルすると★の部分がエラーになってしまいます。
”'B' : 代入演算子 'operator =' が、指定されたクラスに定義されていません”
class Bのメンバを int a だけにするとエラーはでません。
CArrayの中にCArrayを作ったときはどう扱えばいいのでしょうか?
ご存知の方、教えてください。お願いします。
2000年6月20日 10:50 PM
CArray を入れ子にするには、CArray の派生クラスを作成し、
operator = () を追加してあげることが必要になります。
サンプルの場所
http://www1.odn.ne.jp/queenbrand/SArray.h
上記サンプルは入れ子にできる他、STL の vector のように
使用することも可能です。