C ++ / CLI中的托管阵列问题

时间:2012-06-16 07:54:47

标签: arrays c++-cli clr managed managed-c++

使用/ 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;

谢谢!

1 个答案:

答案 0 :(得分:2)

语法__gc class用于现在已过时的托管C ++。在C ++ / CLI中,使用ref class

有关详细信息,请参阅the section Syntax changes in the Wikipedia article C++/CLI