无法从'cli :: array <Type> ^'转换为'cli :: array <Type> ^'

Mew*_*ewa 1 struct c++-cli

Visual Studio 2010(C++)中的C++ CLR.

我有这个结构:

value struct Triangle{
    static array<int>^ v = gcnew array<int>(3);
    static array<int>^ t = gcnew array<int>(3);
    static array<int>^ n = gcnew array<int>(3);
};
Run Code Online (Sandbox Code Playgroud)

我在课堂的"私人"部分声明了以下内容:

static array<Triangle^>^ triangles = gcnew array<Triangle>(MAX_POLYGONS);
Run Code Online (Sandbox Code Playgroud)

我得到这个错误,我不知道它意味着什么(因为它似乎自相矛盾):

error C2440: 'initializing' : cannot convert from 'cli::array<Type> ^' to 'cli::array<Type> ^'
         with
         [
             Type=Triangle
         ]
Run Code Online (Sandbox Code Playgroud)

显然它不喜欢结构.我应该使用ref而不是value吗?这产生了很多指针.任何推进正确的方向将不胜感激.

Mat*_*ith 5

你的陈述中只有一个额外的帽子(^).它应该是:

static array<Triangle>^ triangles = gcnew array<Triangle>(MAX_POLYGONS); 
Run Code Online (Sandbox Code Playgroud)