クラスのオブジェクトを参照渡しするのはなぜですか。アンパサンド (&) を削除すると、次のエラーが発生します。
"Copy constructor of class A may not have parameter of type A"
これは何を意味するのでしょうか?コンパイラは、与えられたコピー コンストラクターとデフォルト コンストラクターの使用を考慮していない可能性があります。簡単に言えば、なぜアンパサンドを使用し、何が起こるのでしょうか? そうしないと。
class A
{
public:
A()
{
}
A(A& tmp)
{
id = 2*tmp.id;
}
public:
int id;
};
int main()
{
A obj;
obj.id = 10;
A obj1(obj);
cout << obj1.id;
}