1
我正在研究蠻力算法的某些實現,這看起來像是一個基本問題,但我無法使其工作。試圖讀取或寫入受保護的內存。這通常表明其他內存已損壞
下面的代碼中斷程序的行:
found[next] = j;
陣列宣言:
int* found = new int[30];
j是計數器,用於循環增加英寸像找到的代碼[0] = 0工作正常。如果我使用變量索引和值它崩潰。 Visual Studio 2012中的錯誤是「試圖讀取或寫入受保護的內存,這通常表示其他內存已損壞」。
我使用int * becouse它在C++ dll中,我用c#應用程序。
'next'從哪裏來?它大於'29'嗎? – 2013-04-10 12:58:36
不要使用像「'30」這樣的幻數。相反,使用值的邏輯依賴來表達容器,並抽象地引用這些值。那麼這種愚蠢的錯誤就不太可能發生。 – 2013-04-10 13:01:08
不,它小於30.實際上,它是0. – 2013-04-10 13:02:57