gpt4 book ai didi

c++ - 枚举关键字作为返回类型的存在表示什么

转载 作者:行者123 更新时间:2023-11-28 02:27:47 28 4
gpt4 key购买 nike

我目前正在处理一个庞大的代码库,我遇到了这个声明

static enum OPTION_FILE_NUM FileOption(const char *target);

现在我不确定 enum OPTION_FILE 返回类型在这里指示什么?我在整个代码库中搜索了 OPTION_FILE_NUM 类型,但我找不到任何东西,但代码在 Visual Studio 中编译得很好。现在,当我在 Mingw GCC 中使用相同的代码时,出现以下错误。

 error: use of enum 'OPTION_FILE_NUM' without previous declaration

我的问题是上面的说法说明了什么?

最佳答案

作为非标准扩展的 Visual Studio 允许前向声明枚举(没有大小信息)。

所以您看到这里使用了该功能。它向前声明一个名称为 OPTION_FILE_NUM 的枚举,并表示该函数返回它。

由于扩展是非标准的,您的其他编译器会提示。

要么在使用之前注入(inject)正确的 decl,要么如果 C++11 注入(inject) enum OPTION_FILE_NUM:int; 如果我没记错的话,那是 msvc 隐式执行的操作。 (有趣的是,msvc 不支持大小枚举前向声明,而只支持大小不一的枚举,这与标准要求相反)。

关于c++ - 枚举关键字作为返回类型的存在表示什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29931272/

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