C++ expected unqualified-id before '{' token
using namespace std;
int main ()
{
int add(int x,int y);
int a,b,c;
c=add(a,b);
cout<<"a+b="<<c<<endl;
return 0;
}
int add(int x,int y);
{ //提示此处出错
int z;
z=x+y;
return (z);
} 展开
函数的题目后面多加了“;”就会出现这个提示。是复制的时候把函数声明里面的“;”也复制上去。
int add(int x,int y)的后面多了个分号,编译器当这是一条完整的声明,于是后面一块代码在函数外部出现就出错。
#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);
}
扩展资料:
在C++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。新定义的类为子类,成为派生类。它可以从父类那里继承所有非私有的属性和方法,作为自己的成员。
参考资料来源:百度百科-C++
去掉这个分号就可以编译正常了。不过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);
}
====
[原创回答团]
参考资料: 原创 + Dev-C++确认