我尝试使用Qt(4.6.3)+ MinGW编译以下代码:
#include <QtCore/QCoreApplication>
#include <exception>
int main(int argc, char *argv[])
{
throw std::runtime_error("");
QCoreApplication a(argc, argv);
return a.exec();
}
...并收到此错误:
..\untitled11\main.cpp:6: error: 'runtime_error' is not a member of 'std'
从头开始创建的项目(控制台应用程序),专业文件:
QT += core
QT -= gui
TARGET = untitled11
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
尝试使用Qt + MSVC2008编译器编译它 - 工作正常。
这是一个标准的例外,不知道为什么会丢失。
答案 0 :(得分:49)
<exception>
仅定义基础std::exception
类;如果您想要std::runtime_error
之类的子课程,则必须包含<stdexcept>
标题。