c++ - 为什么我的函数指针代码运行没有错误?

标签 c++ pointers function

我有这个:

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/

相关文章:

c - 函数指针声明语法困惑

c++ - 是否可以创建一个宏来在 C/C++ 中创建一致的函数声明?

c - 姓名和姓氏搜索功能将无法使用。为什么?

c++ - int float 的问题

c++ - 在指针上同时使用前缀和后缀时出现奇怪的输出

c++ - 关于将指向 C++17 标准变体的指针传递给需要 const 引用的函数的不一致行为

javascript - 我不想运行函数,只是将其用作参数,但它不断弹出

c++选择排序在特定情况下不起作用

c++ - 检查谁赢了 Tic Tac Toe 更高效的 C++

c++ - statvfs 可以阻止某些网络设备吗?这种情况怎么处理?