相同的代碼工作正常在GCC 4.5.2,但我得到的錯誤‘runtime_error’ was not declared in this scope
。runtime_error並沒有在此範圍內聲明的G ++試圖編譯它的gcc 4.1.2當4.1.2
我有
#include <stdexcept>
這是用gcc 4.1.2的問題嗎?
代碼摘錄
// Constructor
if (resource cannot be acquired)
throw std::runtime_error("Blah Blah");
您是否指定了搜索頭文件的路徑。編譯器可能正在拾取一個非標準的頭文件? – 2011-04-03 02:21:03
我所有額外的包含路徑都在我的源文件夾中,並且沒有名爲stdexcept的文件。如果你的假設是正確的,它是如何解釋我的代碼在4.5.2而不是4.1.2中工作的? – 2011-04-03 04:00:39
你可以嘗試的一件事就是溫和地編輯你的STL實現中的stdexcept,看看它是否包含在#warning「stdexcept包含的行中」。在其開始。 – ds27680 2011-04-03 10:20:54