C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c,尾随逗号如何不是错误,会发生什么? Foo x,y ,;大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有人向我指出,我在某些c代码中看起来像是一个拼写错误

protected:
    Foo  x,y,;

我原本以为尾随的逗号会出错,但显然它不是?这是不确定的,或者会发生什么?可能是坏事,因为代码检查程序抱怨它.

解决方法

相关的语法产生见§9.2:

@H_179_7@member-declarator-list: member-declarator member-declarator-list,member-declarator

逗号只允许分隔声明符(名称). member-declarator本身可能不包含逗号.

编辑:这里是成员声明者…它不是自包含的,声明者的语法通常是一个蜘蛛网.

@H_179_7@member-declarator: declarator virt-specifier-seq(opt) pure-specifier(opt) declarator brace-or-equal-initializer(opt) identifier(opt) attribute-specifier-seq(opt) : constant-expression

不正确的语法不是未定义的行为;允许错误放置逗号的编译器有一个错误.拒绝那种东西是标准的要求.

注意,枚举定义和大括号初始化器中允许使用尾随逗号.我认为这两个案例都是由C 11添加的,以简化编写源代码生成器. (即使有这么简单的要求,预处理器也经常会遇到困难.)通常,简单的生成器可能会避免创建具有多个名称的声明,因为由于语法复杂,它可能是一堆蠕虫.另一方面,一个空的声明组成;允许,在成员函数定义之后是分号.

大佬总结

以上是大佬教程为你收集整理的c,尾随逗号如何不是错误,会发生什么? Foo x,y ,;全部内容,希望文章能够帮你解决c,尾随逗号如何不是错误,会发生什么? Foo x,y ,;所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。