Error del compilador C3073
"type": la clase ref no tiene un constructor de copia definido por el usuario
En una compilación /clr (Compilación de Common Language Runtime), el compilador no generará un constructor de copia para un tipo de referencia. En cualquier compilación /clr, debe definir su propio constructor de copia para un tipo de referencia si espera que se copie una instancia del tipo.
Para obtener más información, vea Semántica de pila de C++ para tipos de referencia.
Ejemplo
El ejemplo siguiente genera el error 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
}