下面的代碼打印0和3.這是代碼生成錯誤嗎? 我在.NET 4.0和Visual Studio 2012更新3 RCC++/CLI 2維陣列分配失敗
#include "stdafx.h"
using namespace System;
int main(array<System::String ^> ^args)
{
unsigned long long d1 = 5, d2 = 3;
auto arr = gcnew array<Object^, 2>(d1, d2);
Console::WriteLine(arr->GetLength(0));
Console::WriteLine(arr->GetLength(1));
return 0;
}
感謝Hans,我會在連線上提交。 –
@ K.M。當你這樣做時,考慮在這裏添加一個鏈接。這樣,遇到這個問題的人也可以訪問和投票錯誤報告。 –
只是fyi,IL驗證器沒有捕獲它,因爲它是(部分)禁用的,因爲C++/CLI生成不可驗證的代碼(除非用/ clr:safe構建)。一旦解除對可驗證代碼的限制,它通常無法知道堆棧在通話時是否有意義。 – poizan42