c++ - 使用两个枚举的重载解决方案

标签 c++ enums lint

我们有一些代码大致如下:

// Two enums that differ entirely.
enum A { a1, a2 };
enum B { b1, b2 };

// Functions to convert in some meaningful way between them
A convert(B);
B convert(A);

现在,我们的编译器完全按照我们的预期执行。 convert(a1) 将调用 B Convert(A),依此类推。然而,当我们使用 Lint 查看代码时,它会提示错误 31。我们怀疑这是因为枚举的底层整型类型是相同的,因此 Lint 可能会这样对待它们。

我的问题是:这是代码标准,还是这是编译器功能的意外使用?

最佳答案

此代码是标准且正确的。该错误位于 LINT 中

关于c++ - 使用两个枚举的重载解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1073963/

相关文章:

javascript - Lint 错误 - 意外的字符串连接

xcode - OCLint 生成空的compile_commands.json

cmake clang-tidy(或其他脚本)作为自定义目标

c++ - 音乐没有开始

c++ - SDL 和 Visual Studio 2010 资源

c++ - 可以在头文件中声明 const vector 吗?

java - 枚举类型引用或原始类型(带有示例)- 浅/深复制

c++ - 如何在 C++ 中使用枚举类型?

enums - Haxe-将枚举作为标志发送给函数

c++ - 关于修改仿函数的参数