1
我正在試圖運行下面的小塊的代碼,當一個segfault工作時(編譯gcc4.9.1 MacPorts的OS X 10.10優勝美地):段錯誤與gcc4.9.1用的std ::複雜<double>
#include <complex>
#include <iostream>
int main()
{
std::complex<double> z{1,0}; // 1 + i
std::cout << z << std::endl; // segfault here, why ?!?!?
}
該程序編譯和運行良好的任何其他編譯器(鐺,以前的g ++版本等),除了g ++ 4.9.1。我完全不解,任何人都可以重現segfault?這對我來說非常麻煩,因爲我的整個項目都使用複數,並且在我開始使用g ++ 4.9.1之後,所有事情都停止了(例如,segfaulting)。上面的代碼是我能想到的最小例子。我沒有使用任何優化標誌,只是普通的g++ -std=c++11 test.cpp
。它看起來像一個編譯器錯誤,但我不確定。
你可以發佈實際的消息還是隻說「分段錯誤」? – 2014-10-19 16:27:42
它只是說'Segmentation fault:11' – vsoftco 2014-10-19 16:27:57
如果您嘗試使用'clang ++ -stdlib = libstdC++'編譯程序,會發生什麼? – 2014-10-19 16:28:52