出于调试目的,我经常将指针值(大部分this
)输出到 qDebug:
qDebug("pointer of current object = 0x%08x",this);
, 使用 "%08x" 作为格式字符串并简单地this
作为参数传递。
如何将指针值转换为 QString?
这是我到目前为止得到的:
char p = (char)this;
return QString("0x%1").arg(p, 8, '0');
但是编译器似乎并没有弄清楚如何处理该值。在这种情况下要char
纠正吗?或者有什么更安全的方法来做到这一点?
在 Qt 4.7.4 中使用 Visual C++。
编辑
qulonglong
按照建议使用
qulonglong p = (qulonglong)this;
return QString("0x%1").arg(p, 8, '0');
产生编译器错误消息(错误 C2666)。