在标准C ++中,main
函数及其参数是否具有属性?
例如,这是合法的吗?
[[noreturn]] int main() { std::abort(); }
或类似
[[nodiscard, carries_dependency]]
int main(int argc [[maybe_unused]],
char * argv [[carries_dependency, maybe_unused]] [])
{ /* ... function body omitted ... */ }
答案 0 :(得分:4)
是的,这是合法的。 C ++标准中没有措辞(在[basic.start.main],[dcl.attr]或其他地方)以防止任何此类措施。如果需要,甚至可以将main()
标记为[[deprecated]]
。