Qt - получение «предупреждение: формат не строковый литерал и аргументы формата» - PullRequest
6 голосов
/ 25 ноября 2010

Продолжайте получать предупреждения на подобные строки

qDebug("An error occured while trying to create folder " + workdir.toAscii());

workdir, являющийся QString ()

warning: format not a string literal and no format arguments

Ответы [ 3 ]

5 голосов
/ 25 ноября 2010

Вероятно, это должно быть:

qDebug("An error occured while trying to create folder %s", workdir.constData());

, поскольку qDebug принимает const char* в качестве первого аргумента.

2 голосов
/ 26 ноября 2010

При отладке с помощью qDebug следующий синтаксис гораздо проще:

qDebug() << "An error occured while trying to create folder" << workdir;

Для этого вам необходимо включить заголовок <QtDebug>.

Дополнительная информация: Документы Qt относительно qDebug () .

1 голос
/ 05 мая 2013

Мне удалось заставить его работать нормально без предупреждения, как это:

qDebug("An error occured while trying to create folder %s", qPrintable(workdir));
...