gpt4 book ai didi

c - 函数返回类型的名称作为用户定义数据类型的名称

转载 作者:行者123 更新时间:2023-11-30 20:54:47 30 4
gpt4 key购买 nike

在 C 语言中,使用 enum 来命名与用户定义数据类型相同的函数是否合法?例如:

enum sentence_id sentence_id(const char *sentence, bool strict);

枚举 Sentence_id 的定义如下

enum sentence_id {
MINMEA_INVALID = -1,
MINMEA_UNKNOWN = 0,
MINMEA_SENTENCE_RMC,
MINMEA_SENTENCE_GGA,
MINMEA_SENTENCE_GSA,

};

它是否适用于其他用户定义的数据类型(作为结构)?

最佳答案

这看起来很奇怪,因为枚举和函数的标识符是相同的,这是可能的,因为枚举标识符始终必须遵循 enum 关键字和 enum 后面总是跟着一个标识符。

所以让我们给它们起不同的名字:

enum minmea_sentence_id_e 
{

};

这定义了一个名为 minmea_sentence_id_e 的枚举。

该函数还获得另一个标识符:

enum minmea_sentence_id_e minmea_sentence_id_f(const char *sentence, bool strict);

现在应该很清楚了,有一个名为 minmea_sentence_id_f 的函数返回名为 minmea_sentence_id_e 的枚举值。

关于c - 函数返回类型的名称作为用户定义数据类型的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37684453/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com