这个错误从来若是按照正常的理解,就是C2447错误的解决,
C++编译器错误 C2447 表示在编译过程中遇到了函数缺少声明或者声明不正确的问题。通常情况下,这种错误会出现在没有正确声明函数却在代码中使用该函数的情况下。
编译器无法找到函数的声明,因此会报错。
但是,实际上,这个错误是以下这个函数导致。
头文件声明:
//设置为开机启动
void autoRunWithSystem(bool IsAutoRun, QString AppName, QString AppPath);
cpp文件定义:
void Utils::autoRunWithSystem(bool IsAutoRun, QString AppName, QString AppPath)
{
QSettings *reg = new QSettings(
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",QSettings::NativeFormat);
if (IsAutoRun) {
reg->setValue(AppName, AppPath);
} else {
reg->setValue(AppName, "");
}
}
无论从哪里看,都看不出来到底错在哪里。
所以我试着把注释改为/*设置为开机启动*/
然后,错误解决了。