发布于 2020-07-07 15:33:18
实际上,对于主要函数参数basic.start.main,不存在必须接受属性的明确要求。
但是另一方面,如果你读了dcl.attr.unused#5,你就找不到main的什么特别的东西,上面说那里是不允许的。
编译器必须知道此属性符合C++17,但即使未知属性也不应导致错误。您可以在标准中找到这一点:
任何不被实现识别的属性标记都会被忽略。Dcl.attr#语法6
不幸的是,属性有时会导致错误(即使它们不应该)。请参阅扩展此问题:抑制。
实际上,在没有警告哥德波特的情况下,所有主要编译器都可以接受您的代码。因此,我想说,这是可以的。但是因为允许它有一个不需要任何论证的主函数,所以我更倾向于这样做。
https://stackoverflow.com/questions/62736923
复制相似问题