C++ 函数指针指向空函数导致崩溃的解决方法
C++ 中使用函数指针指向空函数,会导致程序崩溃。这是因为执行空函数时会出现未定义行为。
为了避免这种情况,可以使用以下两种方法:
- **判空处理:**在使用函数指针前进行判空处理,例如:
FunctionPointer funcPtr = reinterpret_cast<FunctionPointer>(updataState);
if (funcPtr != nullptr) {
funcPtr();
}
- **添加函数实现:**在函数指针指向的函数中添加具体的实现,例如:
void MainWindow::updataState() {
// 发送修改状态的信号
emit pThis->sigupdataState();
}
通过以上两种方法,可以避免函数指针指向空函数导致的崩溃问题。
原文地址: https://www.cveoy.top/t/topic/nwCj 著作权归作者所有。请勿转载和采集!