Как преобразовать значение указателя в QString?

в целях отладки я часто выводю значения указателя (в основном 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) .

14
задан Martin Hennings 16 January 2012 в 15:30
поделиться