【C++標準I/0庫】錯誤:runtime_error was not declared
阿新 • • 發佈:2019-02-20
# 編譯出現:runtime_error was not declared
錯誤:#include <iostream> //#include <stdexcept> //runtime_error using namespace std; std::istream& get(std::istream& in) { //該函式應一直讀取流 int val; while (in >> val, !in.eof()){ if (in.bad()){ throw runtime_error("IO stream error!"); } if (in.fail()) { std::cerr << "Data error, try again." << std::endl; in.clear(); in.ignore(200, '\n'); continue; } std::cout << "輸入的資料是:" << val << std::endl; } in.clear(); return in; } int main() { cout << "測試函式:" << endl; double d_val; //使用標準輸入 get(cin); cout << "使用cin輸入一個double型別的資料:" << endl; cin >> d_val; cout << "輸入的是:" << d_val << endl; return 0; }
||=== Build: Debug in Demo6 (compiler: GNU GCC Compiler) ===|
G:\C_Code black\day0404\Demo6\main.cpp||In function 'std::istream& get(std::istream&)':|G:\C_Code black\day0404\Demo6\main.cpp|14|error: 'runtime_error' was not declared in this scope|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
解決方法:
加上標頭檔案:#include <stdexcept>
拓展:若出現編譯錯誤error: 'numeric_limits' is not a member of 'std'
加上標頭檔案:#include <limits>