首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C枚举返回函数是否以分号结束?

C枚举返回函数是否以分号结束?
EN

Stack Overflow用户
提问于 2014-09-11 20:05:25
回答 3查看 249关注 0票数 2

我问这个问题是因为发布了新的JetBrains产品CLion。我开始测试新的C/C++ ide,当我输入返回enum的简单函数时,JetBrains会自动将分号放在结束括号的末尾。

代码语言:javascript
复制
 enum Error someCode(void)
 {
    //some code
 }; //<- semicolon at end

但在非枚举功能之后

代码语言:javascript
复制
void nonEnumFunct(void)
{
   //some code
} //<- without semicolon

我以前从未考虑过这一点(因为我非常尊重JetBrains产品:) butI认为CLion误解了someCode是返回枚举而不是枚举的函数。因为函数在末尾不应该有";“即使它返回枚举结构。

我的问题是:如果将功能声明为返回枚举或应该声明为enum是好的做法,我总是将enum声明为:

代码语言:javascript
复制
typedef enum some_enum {} AnEnum; 

然后将其用作函数声明中的返回类型。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-11 20:15:31

这不是一个好的或坏的做法的问题。

函数定义后,C中根本不允许分号。

关于你是否应该使用类型类型的问题,没有正确的答案,这是一个品味的问题。我个人不喜欢类型类型,因为我认为类型(在某些情况下除外)是一个混淆。

票数 2
EN

Stack Overflow用户

发布于 2014-09-12 13:38:47

这是IDE (http://youtrack.jetbrains.com/issue/CPP-1027)中的一个bug。它不应该在那里。

票数 1
EN

Stack Overflow用户

发布于 2014-09-11 20:10:07

在函数定义之后不需要分号(甚至在这些定义之后也不需要分号),而且我所知道的任何样式指南都不鼓励分号。

这很可能是IDE中的一个bug。它试图聪明地预测您正在声明的变量或类型。但这是错误的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25796033

复制
相关文章

相似问题

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