我有一段使用Qt的C ++代码,我尝试在命令提示符下运行批处理文件。我使用QProcess
对象启动cmd.exe
并执行我的批处理文件。以下是我使用的代码:
void Utility::executeBatchFile(QString batchFile)
{
QProcess *process = new QProcess(this);
QString cmdName = "cmd.exe";
QStringList arguments;
arguments<<"/k" << batchFile;
process->startDetached(cmdName, arguments);
}
当我在Qt Creator中构建它时,我收到警告:
警告:C4189:&#39;进程&#39; :局部变量已初始化但未引用
变量process
在函数的最后一行引用,我无法弄清楚为什么会出现这个警告。
答案 0 :(得分:17)
因为startDetached
是静态成员函数。您被允许编写process->startDetached(...)
以指示编译器将在其中查找成员名称的名称空间,而不是QProcess::startDetached(...)
。但这两次调用是相同的;该调用不使用process
的值。