в целях отладки Я часто выводю значения указателя (в основном 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
в этом случае? Или какой безопасный способ сделать это?
Использование Visual C ++ с Qt 4.7.4.
EDIT
Использование qulonglong
как предложено
qulonglong p = (qulonglong)this;
return QString("0x%1").arg(p, 8, '0');
приводит к сообщению об ошибке компилятора (ошибка C2666) .