c++ - 为什么我的程序失败?

标签 c++ debugging

我的代码如下:

#include <iostream>

using std::cout;
using std::endl;

int next(int n)
{
    return n + 1;
}

int main()
{
    int next(int);  // function declaration
    int *fp = &next;

    int temp = 10;
    temp = (*fp)(temp);
    cout << temp << endl;

    return 0;  
}

编译器指出int *fp = &next; 需要调试,但是,我没有发现这句话有什么问题。 你能告诉我吗?谢谢你的时间~~

最佳答案

函数指针不像普通指针那样定义

int (*fp)(int)

而你的下一个函数已经在主函数中可见,不需要重新声明它

关于c++ - 为什么我的程序失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4554492/

相关文章:

c++ - C++中的cin.fail()和!cin有什么区别?

c++ - 使用 unique_ptr 作为参数在类上调用方法是否合法?

c++ - 检测超出函数范围的未使用变量

objective-c - LLDB 摘要字符串 - 如何使它们在 Xcode session 中持久存在

c# - 由于在输出窗口中输出类型名称导致调试缓慢

ruby-on-rails-3 - Ruby 调试器在 Windows 上崩溃

c++ - 关于 C++ 中基本指针使用和 C++ 内存模型的几个简单问题

c++ - 在 C++ 中转换为 void* 和 typedef

java - 当程序尝试写入文件时出现错误?

c++ - 无法附加到使用 Visual Studio 2005 创建的进程