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