关于构造函数的成员初始化列表和抛出的C ++语法问题

时间:2010-07-31 08:07:46

标签: c++

如何编写既有throw又有成员初始化列表的ctor定义? 它是否正确?

ClassName::ClassName(int parameter): datamember_(parameter) throw(ExceptionType)

1 个答案:

答案 0 :(得分:5)

throw是函数声明符的一部分,因此它应该出现在初始化列表(:)之前。

ClassName::ClassName(int parameter) throw(ExceptionType) : datamember_(parameter) {

BTW,C ++ 0x中的异常规范是deprecated,除throw()外,它通常是无用的。请参阅Should I use an exception specifier in C++?