簡體   English   中英

在我的代碼中添加新變量以及一些操作之后,檢測到堆棧粉碎 C++

[英]Stack Smashing Detected C++ after I added new variables in my code along with some operations

我為計算目的編寫了一個代碼。 一切都很順利,直到我在主代碼的 function 中添加了這些行。 我讀到的關於這個問題的大多數線程都有解決方案,指的是處理字符串的情況。 它們中沒有一個與我正在處理的問題更接近。 在主程序中添加的代碼是:

float flx[3][4];

for (int a0 = 0; a0 < 4; a0++) {
    for (int b0 = 0; b0 < 3; b0++) {
        cout << "fluz!!!!";
        flx[a0][b0] = phi1[a0][b0] - phi2[a0][b0];
        cout << flx[a0][b0] << " ";
    }
    cout << "\n";
}

代碼在執行此部分后立即終止,因此無法繼續進行進一步的操作。

請幫忙。 謝謝

for (int a0=0;a0<4;a0++){
   for (int b0=0;b0<3;b0++){
      flx[a0][b0] = [...];

請注意,在外部循環中, a0取值03 (包括),但您聲明數組是這樣的:

float flx[3][4];

...這意味着只有012flx的第一個/主要維度的有效索引。 因此,您在數組范圍之外寫入,因此會出現堆棧粉碎錯誤消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM