当前位置: 首页 > 知识库问答 >
问题:

“运算符==”的枚举类不明确重载

严阳秋
2023-03-14
enum class A 
  { W };
bool operator==( const A &a, const A &b )
  { return true; }

int main()
{
  ( A::W == A::W );
}

错误:“运算符==”的重载不明确(操作数类型为“A”和“A”)

注:候选者:运算符==(A,A)内置

注:候选:布尔运算符==(常数A)

共有1个答案

柴宝
2023-03-14

你可以用

bool operator==(A, A) { return true; }

演示

 类似资料:
  • 问题内容: 这是我的简化课程和枚举。 如果我跑 一切都很好,花花公子。 但是,如果我执行以下操作: 我得到: 如果我做: 我得到: 有任何想法吗? 问题答案: 这应该做。

  • 例如,我如何做类似的事情: 结果示例:

  • 谁能解释一下 和 我经常使用前一个示例(可能太频繁了,没有足够的封装),但我从未使用过第二个示例。 谢啦 枚举

  • 为什么要在C++11中编译: 但这不是:

  • 当您需要定义错误码和错误信息时,可能会使用以下方式, <?php class ErrorCode { const SERVER_ERROR = 500; const PARAMS_INVALID = 1000; public static $messages = [ self::SERVER_ERROR => 'Server Error',

  • 问题内容: 例如,我该怎么做: 结果示例: 问题答案: 迅捷4.2+ 从Swift 4.2(使用Xcode 10)开始,只需添加协议一致性即可从中受益。要添加此协议一致性,您只需要在某处写: 如果枚举是您自己的,则可以直接在声明中指定一致性: 然后,以下代码将打印所有可能的值: 与早期Swift版本(3.x和4.x)的兼容性 如果您需要支持Swift 3.x或4.0,则可以通过添加以下代码来模仿S