使用/ clr
进行编译array<Byte>^ byteArray = gcnew array<Byte>(25);
为什么我会收到这些编译错误?
error C2065: 'array' : undeclared identifier
error C2065: 'gcnew' : undeclared identifier
error C2275: 'System::Byte' : illegal use of this type as an expression
error C3192: syntax error : '^' is not a prefix operator (did you mean '*'?)
我在一个带有
的类中调用此方法using namespace System;
__gc class MyClass
这感觉就像我在这里遗漏了一些非常基本的东西。即使这会导致错误:
array<Byte>^ byteArray;
或
array<Byte> * byteArray;
谢谢!
答案 0 :(得分:2)
语法__gc class
用于现在已过时的托管C ++。在C ++ / CLI中,使用ref class
。
有关详细信息,请参阅the section Syntax changes in the Wikipedia article C++/CLI。