Compartilhar via


Erro do Compilador C3073

'type': a classe ref não possui um construtor de cópia definido pelo usuário

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, você deve definir seu próprio construtor de cópia para um tipo de referência se espera que uma instância do tipo seja copiada.

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

Exemplo

A amostra 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
}