我的类(class)有 operator const char*() const { return "foo";
。
我让 gdb 7.12.1-48.el7 在变量 q
属于此类的地方停止。
我键入 p q.
,当我按下该键时,我会看到它的所有方法和成员的完整列表,包括 operator char const*
。
但是,我收到了对这些命令的响应。
(gdb) p q.operator char const*()
Couldn't find method MyClass::operatorconst char *
(gdb) p q.operator char const*
There is no member or method named operatorconst char *.
(gdb) p q.(operator char const*)
A syntax error in expression, near `(operator char const*)'.
(gdb) p q.(operator char const*)()
A syntax error in expression, near `(operator char const*)()'.
关于如何调用此方法有什么想法吗?
最佳答案
您可以只使用隐式转换。对我来说,p (const char*)q
在 gdb 8.2.1 中工作:
(gdb) p (const char*)q
$2 = 0x7ffffffedaf0 "qwer"
(gdb)
关于c++ - gdb:如何调用 operator char const*()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64119531/