int add(int x,int y)的后面多了个分号,编译器当这是一条完整的声明,于是后面一块代码在函数外部出现就出错了。去掉这个分号就可以编译正常了。不过a,b没初始化就使用,没什么意义。改了一下:#include <iostream>using namespace std;int main (){int add(int x,int y);int a,b,c;cin>>a,b; //从键盘输入a和b(用空格/回车等分开两个输入项)。c=add(a,b);cout<<"a+b="<<c<<endl;cin.get();//等待键盘按键,这里可以防止计算完程序直接结束。return 0;}int add(int x,int y) //函数定义中函数头后面不应该加分号。{int z;z=x+y;return (z);}====