获取警告C4189"局部变量已初始化但未引用",即使正在引用该变量

ada*_*isa 7 c++ qt

我有一个使用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);
}
Run Code Online (Sandbox Code Playgroud)

当我在Qt Creator中构建它时,我收到一个警告:

警告:C4189:'process':初始化局部变量但未引用

变量process在函数的最后一行引用,我无法弄清楚为什么会出现这个警告.

ric*_*ici 18

这是因为它startDetached是一个静态成员函数.您可以编写process->startDetached(...)以指示编译器将在其中查找成员名称的名称空间,而不是QProcess::startDetached(...).但这两次调用是相同的; 该调用不使用的值process.