这个c++小程序那里出错了,请改正
发布网友
发布时间:2023-05-07 00:27
我来回答
共6个回答
热心网友
时间:2023-11-24 07:04
#include<iostream>
using namespace std;
int add(int x,int y) ; // main看不到add函数,因为它在后面,所以可以提前声明一下就好了。
int main()
{
int a,b,c;
cin>>a>>b;
c=add(a,b);
cout<<"a+b"<<c<<endl;
return 0;
}
int add(int x,int y)
{
int z;
z=x+y;
return z;
}
热心网友
时间:2023-11-24 07:05
自定义函数如果在主函数之后定义的话,必须在主函数中声明
改成:
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
int add(int x,int y);//add函数声明
cin>>a>>b;
c=add(a,b);
cout<<"a+b"<<c<<endl;
return 0;
}
int add(int x,int y)
{
int z;
z=x+y;
return z;
}
或者把自定义函数定义在主函数之前,就不需要声明了
改成:
#include<iostream>
using namespace std;
int add(int x,int y)
{
int z;
z=x+y;
return z;
}
int main()
{
int a,b,c;
cin>>a>>b;
c=add(a,b);
cout<<"a+b"<<c<<endl;
return 0;
}
热心网友
时间:2023-11-24 07:05
同意上面的,你没有声明函数原型。
我用code::blocks编译你的程序编译器显示如下:
\time5.cpp|7|error: "add" was not declared in this scope|
它说add函数在这个作用域里没声明。
热心网友
时间:2023-11-24 07:06
这个成学在USING NAMESPACE STD;的下面加上INT ADD(INT,INT);就OK了,!
这个错误的原因是在编译的时候程序不知道ADD这个函数是什么形式(参数以及返回值如何),所以在编译到C=ADD(A,B);这句时不知道ADD是什么,所以必须在前面加一个声明,以告诉ADD的形式,要不就将ADD定义放在MAIN()函数的前面!!!
我也是初学者,一起加油o(∩_∩)o...
热心网友
时间:2023-11-24 07:07
#include<iostream>
using namespace std;
int add(int x,int y);//使用前要加声明啊
int main()
{
int a,b,c;
cin>>a>>b;
c=add(a,b);
cout<<"a+b"<<c<<endl;
return 0;
}
int add(int x,int y)
{
int z;
z=x+y;
return z;
}
热心网友
时间:2023-11-24 07:07
在main之前声明add函数就好了