Condividi tramite


Errore del compilatore C3073

'type': la classe ref non dispone di un costruttore di copia definito dall'utente

Osservazioni:

In una compilazione /clr (compilazione Common Language Runtime) il compilatore non genererà un costruttore di copia per un tipo di riferimento. In qualsiasi compilazione /clr è necessario definire il proprio costruttore di copia per un tipo riferimento se si prevede che venga copiata un'istanza del tipo.

Per altre informazioni, vedere Semantica dello stack C++ per i tipi di riferimento.

Esempio

L'esempio seguente genera l'errore 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
}