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

前端之家收集整理的这篇文章主要介绍了c – 获取警告C4189“局部变量已初始化但未引用”,即使正在引用该变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一段使用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中构建它时,我收到一个警告:

warning: C4189: ‘process’ : local variable is initialized but not referenced

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

解决方法

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

猜你在找的C&C++相关文章