我有这个:
typedef void (*funcptr) (void);
int main(){
funcptr(); //this can compile and run with no error . WHAT DOES IT MEAN? WHY NO ERRORS?
}
最佳答案
该语句通过其默认构造函数*创建一个 funcptr
实例并将其丢弃。
就是和代码差不多
int main () {
double();
}
(注意:* 从技术上讲,它执行默认初始化,因为并非所有类型都有构造函数。这些类型将返回默认值(零初始化),例如 0。请参阅 C++98 §5.2.3/2 和 §8.5/5 以了解实际发生的情况。)
关于c++ - 为什么我的函数指针代码运行没有错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3828394/