Поделиться через


Ошибка компилятора C3192

синтаксическая ошибка: "^" не является оператором префикса (означает ли вы "*?")

Дескриптор нельзя использовать в качестве оператора разыменования.

Следующий пример приводит к возникновению ошибки C3192:

// C3192.cpp
// compile with: /clr
using namespace System;

ref class MyClass {
public:
   MyClass () {}
   MyClass(MyClass%) {}
};

int main() {
   MyClass ^ s = gcnew MyClass;
   MyClass b = ^s;   // C3192

   // OK
   MyClass b2 = *s;
}