コンパイラ エラー C3073
'type': ref クラスには、ユーザー定義されたコピー コンストラクターがありません
/clr (共通言語ランタイム コンパイル) コンパイルでは、参照型のコピー コンストラクターがコンパイラによって生成されません。 /clr コンパイルでは、参照型のインスタンスをコピーする必要がある場合、その型に対して独自のコピー コンストラクターを定義する必要があります。
詳細については、「参照型の C++ スタック セマンティクス」を参照してください。
例
次の例では C3073 が生成されます。
// C3073.cpp
// compile with: /clr
ref class R {
public:
R(int) {}
};
ref class S {
public:
S(int) {}
S(const S %rhs) {} // copy constructor
};
void f(R) {}
void f2(S) {}
void f3(R%){}
int main() {
R r(1);
f(r); // C3073
f3(r); // OK
S s(1);
f2(s); // OK
}