0
,因为我们都知道数组的声明是非常简单的阵列,C++ CLR
type name[size];
但是当我编译我的C++的CLI/WinForm的它不工作,我已经找到了following MSDN上其解释这新的syntex,但对于一些reasone我仍然得到奇怪的错误。
当我按照以下方式声明数组时,它的编译没有问题,但是当数组被操作时程序崩溃。 (我有一个按钮,仍然是相同的测试,它在一个简单的程序)
array<int>^ aiArray; //declaration - no problem
aiArray[0] = 5; //after executing it the program crash
这里是崩溃后,我得到的错误:
An unhandled exception of type 'System.NullReferenceException' occurred in test.exe
Additional information: Object reference not set to an instance of an object.
冒着明显的风险,你需要'array'的*实例*,而不仅仅是一个变量声明。请参阅http://msdn.microsoft.com/en-us/library/kewsb8ba(v=vs.80).aspx –
2012-04-03 17:18:05
我还没有验证,但你可以用'array aiArray(size);声明变量。 '。 '^'字符表示托管引用,实际上是指向.NET对象的指针。所以你有问题的代码大致相当于'int * aiArray; aiArray [0] = 5;' –
2012-04-03 20:48:38