2012-08-09 85 views
0

我在構建代碼時收到上述消息。錯誤MSB3073:命令「」.. .. .. .. lib Tests.exe「:VCEnd」用代碼退出-1073740940

任何人都可以請拋出一些光在這個問題上,幫助我嗎?

非常感謝

此致

Chintan

更新問題:以下代碼段發生上述錯誤。

vector <double> vBandSubset (vBand.size(), 0.0); 
vBandSubset = vBand; 
double dMeanBand=GetMean(vBand); 
int j = 0; 
for (int i = nBin1 - 3; i <= nBin1 + 3; i++) 
{ 
    vBandSubset[i] = dMeanBand*(1 + 0.00001*j); 
    j++; 
} 
+0

嘗試右鍵單擊VS(我假設?)並以管理員身份運行。然後,重建你的項目。讓我知道! – ChiefTwoPencils 2012-08-09 11:21:10

+0

我以管理員身份運行VS。我需要提供更多信息嗎?但我不確定我還能做什麼。再次感謝。 – 2012-08-09 12:24:59

+2

您可以提供源代碼... – Poodlehat 2012-08-09 13:05:14

回答

1

,而無需瞭解究竟你在做這很難說有把握什麼細節,但是-1073740940 == == 0xC0000374 STATUS_HEAP_CORRUPTION。它是否會流光?

[UPD]假設將錯誤值解釋爲NTSTATUS是正確的,那麼您正在損壞堆。進一步假設它出現在你顯示的代碼中,最有可能的是nBin1 < 3nBin1 + 3 >= vBandSubset.size()。在任何一種情況下,循環中的分配都將覆蓋vBandSubset數據塊之前或之後的技術堆區。

由於這是一項測試,我建議您使用vBandSubset.at(i)而不是vBandSubset[i]。與operator[]不同,at()驗證了它的參數,如果它無效,將會拋出異常。調試異常比內存損壞更容易。

PS。你可以編輯你的問題並把代碼放在那裏。這樣對讀者來說更方便。

+0

非常感謝。這工作!我會更新我的問題。再次感謝。 – 2012-08-09 13:48:20

+0

@chintan不客氣。 – atzz 2012-08-09 14:38:49

相關問題