-1
我得到了這個程序,2周前運行良好,我沒有改變它現在崩潰的地方。訪問內存時發生奇怪的崩潰
例如,藉此片段:(假設is
是一個有效istream
和包含<tag>
)
std::string Str;
char c;
for (; is >> c;)
{
std::cout << c << std::flush;
Str += c;
}
輸出: <
然後崩潰。
我使用Windows和mingGW,崩潰是一個窗口,說我的程序有encoutner錯誤,Windows正在試圖修復它...
但是,這還不是全部,它崩潰與同Str = c;
或initilizing時:我發現這個錯誤之後std::string Str ("op");
30分鐘後,我上的線另一個(先於初始一個):
osstr.write((char *) Word, 16);
凡osstr
是一個有效的ostringstream和Word是一個充滿unsigned char *
編輯:
的問題可能不是在代碼中。因爲對字符串構造函數的簡單調用會崩潰。
std::string Str ("")
工作
std::string Str ("str");
崩潰
不相關:代替'for'循環的尷尬,你可以簡單循環while(is >> c)'。 –
你可以發佈一個完整的,自包含的可編譯示例展品的問題?因爲我們不知道你的代碼實際上是什麼東西。 (這個錯誤很可能出現在代碼之前的代碼中。) –
[Works fine here](http://ideone.com/uWBv5),你的問題出現在你沒有向我們展示過的代碼中。 – ildjarn