Compilerfehler C3146

Unzulässiger __nogc-Verweis auf den verwalteten Typ 'Typ'

Es wurde versucht, einen nicht verwalteten Verweis auf eine Variable eines verwalteten Typs zu erstellen.

C3146 ist nur über /clr:oldSyntax erreichbar.

Im folgenden Beispiel wird C3146 generiert:

// C3146.cpp
// compile with: /clr:oldSyntax
#using <mscorlib.dll>
int main() {
   System::String *str1 = new System::String("test");
   System::String __nogc& str2 = *str1;  // C3146
   System::String & str3 = *str1;     // OK equivalent to __gc& str2
}