в целях отладки я часто выводю значения указателя (в основном this
) в qDebug:
qDebug ("указатель текущего объекта = 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.
РЕДАКТИРОВАТЬ
Использование qulonglong
в соответствии с предложением
qulonglong p = (qulonglong)this;
return QString("0x%1").arg(p, 8, '0');
приводит к сообщению об ошибке компилятора (ошибка C2666) .