好吧,我想在C++中的另一个线程中运行一个函数。它不需要任何参数,它是一个无效函数。所以当我看到这个警告时说:控制范围结束非虚函数无效
warning: function declared 'noreturn' should not
return [-Winvalid-noreturn]
我很惊讶。我正在为我的线程使用pthread。这里是我的函数的声明:
void* checkLogKext(void*);
而且这里是我打电话给我的功能:
pthread_t t1;
pthread_create(&t1, NULL, &checkLogKext, NULL);
这里是我的功能:
void* checkLogKext(void*) {
ifstream logKext("/LogKextUninstall.command");
if (logKext.is_open()) {
// Do something
}
}
它不是一个无效函数:它返回类型为'void *'的东西(并且它需要一个参数)。 – JBL
哦,我摆脱了这个错误,把一个无限循环和一个睡眠放在我原本打算这样做的功能中,我修复了这个错误,但是我不知道某个人可以解释它是如何工作的? – jamespick