このトピックに関する記事をいくつか読みましたが、自分のコードをコンパイルするにはまだ問題があります。
私はクラスAを持っています:
class A
{
public:
List<int> data;
A(){}
A(A&){}
A& operator= (const A& a)
{
// copy the data from a to data
}
};
クラス B はクラス A を呼び出します。
class B
{
public:
A makeA()
{
A a;
return a;
}
A getA()
{
A a = makeA();
return a;
}
};
Linux で g++ を使用してコードをコンパイルすると、次のようになりました。
'A::A(A)' の呼び出しに一致する関数がありません。
コンパイラは代入操作を単に無視したようです。これから私を助けてくれますか?