Condividi tramite


Errore del compilatore C3071

operatore 'operator' applicabile solo a un'istanza di una classe di riferimento o un tipo di valore

Osservazioni:

Un operatore CLR non può essere usato in un tipo nativo. L'operatore può essere usato in una classe di riferimento o in un una struct di riferimento (un tipo di valore), ma non in un tipo nativo, ad esempio int, o in un alias per un tipo nativo, ad esempio System::Int32. Questi tipi non possono essere boxed nel codice C++ in modo da fare riferimento alla variabile nativa e quindi l'operatore non può essere usato.

Per altre informazioni, vedere Operatore di riferimento per il rilevamento.

Esempio

L'esempio seguente genera l'errore C3071.

// C3071.cpp
// compile with: /clr
class N {};
ref struct R {};

int main() {
   N n;
   %n;   // C3071

   R r;
   R ^ r2 = %r;   // OK
}