1

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

谢谢!!

4

1 回答 1

2

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

有关更多信息,请参阅Wikipedia 文章C++/CLI中的语法更改部分

于 2012-06-16T09:17:19.193 回答