首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >主要功能参数的属性

主要功能参数的属性
EN

Stack Overflow用户
提问于 2020-07-05 04:44:17
回答 2查看 496关注 0票数 12

我可以为主要函数参数使用属性吗?或者它是否定义了实现?

看起来像主函数只有两个不支持http://eel.is/c++draft/dcl.attr#nt:attribute-list的表单,而普通的函数声明语法确实支持它。

示例:

代码语言:javascript
运行
复制
int main([[maybe_unused]] int argc, char* argv[]);
EN

Stack Overflow用户

回答已采纳

发布于 2020-07-07 15:33:18

实际上,对于主要函数参数basic.start.main,不存在必须接受属性的明确要求。

但是另一方面,如果你读了dcl.attr.unused#5,你就找不到main的什么特别的东西,上面说那里是不允许的。

编译器必须知道此属性符合C++17,但即使未知属性也不应导致错误。您可以在标准中找到这一点:

任何不被实现识别的属性标记都会被忽略。Dcl.attr#语法6

不幸的是,属性有时会导致错误(即使它们不应该)。请参阅扩展此问题:抑制

实际上,在没有警告哥德波特的情况下,所有主要编译器都可以接受您的代码。因此,我想说,这是可以的。但是因为允许它有一个不需要任何论证的主函数,所以我更倾向于这样做。

票数 7
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62736923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档