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