Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays C++ CLR数组_Arrays_C++ Cli_Clr - Fatal编程技术网

Arrays C++ CLR数组

Arrays C++ CLR数组,arrays,c++-cli,clr,Arrays,C++ Cli,Clr,众所周知,数组的声明非常简单 type name[size]; < >但是,当我把C++编译成CLI/WiFrm时,它就不起作用了,我已经找到了解释这个新的SyToX的OnDon MSDN,但是对于一些理由,我仍然会有奇怪的错误。 当我以下面的方式声明数组时,它的编译没有问题,但是当数组被操纵时,程序就会崩溃。我用一个按钮在一个简单的程序上测试了它,仍然是一样的 array<int>^ aiArray; //declaration - no problem aiArray[0] =

众所周知,数组的声明非常简单

type name[size];
< >但是,当我把C++编译成CLI/WiFrm时,它就不起作用了,我已经找到了解释这个新的SyToX的OnDon MSDN,但是对于一些理由,我仍然会有奇怪的错误。 当我以下面的方式声明数组时,它的编译没有问题,但是当数组被操纵时,程序就会崩溃。我用一个按钮在一个简单的程序上测试了它,仍然是一样的

array<int>^ aiArray; //declaration - no problem
aiArray[0] = 5; //after executing it the program crash

您需要创建数组,而不仅仅是声明局部变量。试试这个:

array<int>^ aiArray;
aiArray = gcnew array<int>(10);
aiArray[0] = 5;

如果您熟悉C,这应该看起来很熟悉。如果你熟悉C++而不是C,下面就是这样的:你所拥有的与iT*AIAL相当;在非托管C++中。您需要执行aiArray=newint[10];然后才能使用非托管阵列

您需要创建数组,而不仅仅是声明局部变量。试试这个:

array<int>^ aiArray;
aiArray = gcnew array<int>(10);
aiArray[0] = 5;

如果您熟悉C,这应该看起来很熟悉。如果你熟悉C++而不是C,下面就是这样的:你所拥有的与iT*AIAL相当;在非托管C++中。您需要执行aiArray=newint[10];然后才能使用非托管阵列

冒着声明显而易见的风险,您需要一个数组实例,而不仅仅是一个变量声明。请看,我还没有验证,但您可能可以使用数组aiArraysize;声明变量;。^字符表示托管引用,本质上是指向.NET对象的指针。因此,有问题的代码大致相当于int*aiArray;aiArray[0]=5;冒着声明显而易见的风险,您需要一个数组实例,而不仅仅是一个变量声明。请看,我还没有验证,但您可能可以使用数组aiArraysize;声明变量;。^字符表示托管引用,本质上是指向.NET对象的指针。因此,有问题的代码大致相当于int*aiArray;aiArray[0]=5;