Partilhar via


Erro do compilador C3073

'Type' : A classe ref não tem um construtor de cópia definido pelo usuário

Observações

Em uma compilação /clr (Common Language Runtime Compilation), o compilador não gerará um construtor de cópia para um tipo de referência. Em qualquer compilação /clr, deverá definir o seu próprio construtor de cópia para um tipo de referência, se esperar que uma instância do tipo seja copiada.

Para obter mais informações, consulte Semântica de Pilha C++ para Tipos de Referência.

Example

O exemplo a seguir gera 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
}