class ESClass
{
public:
void PrintMe() throw();
void PrintMe(int) throw(int);
};
我想知道我们是否可以为重载函数定义不同的异常规范。换句话说,我们是否可以给PrintMe函数的不同版本赋予不同的异常规范?
来自VS2010的注意事项:
警告C4290:忽略C++异常规范,除非表示函数不是__declspec(nothrow)
class ESClass
{
public:
void PrintMe() throw();
void PrintMe(int) throw(int);
};
我想知道我们是否可以为重载函数定义不同的异常规范。换句话说,我们是否可以给PrintMe函数的不同版本赋予不同的异常规范?
来自VS2010的注意事项:
警告C4290:忽略C++异常规范,除非表示函数不是__declspec(nothrow)
一个函数使用异常规范进行声明,Visual C++接受但不实现。在编译期间忽略异常规范的代码可能需要重新编译和链接,以便在未来支持异常规范的版本中重用。
catch
子句... - André Caron
throw()
,而不处理其他任何内容。 - Bo Persson