Qt - 得到“警告:格式不是字符串文字,没有格式参数”

时间:2010-11-25 20:40:08

标签: c++ qt warnings qt-creator literals

继续在这些行上收到警告

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

workdir是QString()

warning: format not a string literal and no format arguments

3 个答案:

答案 0 :(得分:5)

应该是:

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

因为qDebugconst char*作为第一个参数。

答案 1 :(得分:2)

使用qDebug进行调试时,我发现以下语法更加容易:

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

为此,您需要添加<QtDebug>标题。

更多信息:Qt docs regarding qDebug()

答案 2 :(得分:1)

我设法让它工作正常,没有这样的警告:

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