可以 main() 及其参数具有属性



在标准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 ... */ }

是的,这是合法的。C++标准(在[basic.start.main],[dcl.attr]或其他地方(中没有任何措辞可以防止这种情况发生。如果需要,甚至可以将main()标记为[[deprecated]]

相关内容

  • 没有找到相关文章

最新更新