在lldb中使用匿名枚举作为函数参数错误

Error using anonymous enums as function arguments in lldb

本文关键字:函数 参数 错误 枚举 lldb      更新时间:2023-10-16

我有一个类,MyClass,具有重载的[]操作符,该操作符接受MyEnum类型的匿名枚举。我可以在代码中很好地使用它,但不能使用lldb检查对象。当我尝试时,我得到以下错误。

(lldb) p myObject[MyEnum::value]
error: no viable overloaded operator[] for type 'MyClass'
note: candidate function not viable: no known conversion from 'int' to 'MyEnum' (aka '<anonymous enum>') for 1st argument

谁能解释为什么调试器不能正确转换枚举?

(xcode 5.1.1)

看来您需要强制转换枚举:

p myObject[(MyEnum)MyEnum::value]
           ^^^^^^^^