在标准C ++中,main
函数是否有异常规范?
例如,以下是否合法?
int main() noexcept {}
答案 0 :(得分:4)
是的,这完全合法。 C ++标准中没有措辞(在[basic.start.main],[except.spec]或其他地方)禁止这样做。
即使在C ++ 17及更高版本中,异常规范也是函数类型的一部分,main
仅根据[basic.start.main#2]限制其链接和返回类型:
实现不应预定义
main
函数。此功能不应过载。它的类型应具有C ++语言链接,并且它应具有类型为int
的声明返回类型,否则其类型是实现定义的。