主题:一个关于函数的定义与引用的问题,老是出错,唉……
zhushilu
[专家分:0] 发布于 2008-11-26 00:48:00
#include<iostream.h>
int sum(int x,int y);
{
cin>>x>>y>>endl;
if(x<0) x=-x;
if(y<0) y=-y;
return (x+y);
}
void main()
{
int k;
sum(5,4);
k=sum(5,4);
cout<<k<<endl;
}
附加错误信息:
error C2447: missing function header (old-style formal list?)
Error executing cl.exe.
复杂表达式.obj - 1 error(s), 0 warning(s)
回复列表 (共4个回复)
沙发
影月剑都 [专家分:70] 发布于 2008-11-26 02:25:00
#include<iostream>
using namespace std;
int sum(int x,int y)
{
cin>>x>>y;
if(x<0) x=-x;
if(y<0) y=-y;
return (x+y);
}
int main()
{
int k;
//sum(5,4);
k=sum(5,4);
cout<<k<<endl;
cout<<endl;
system("pause");
return 0;
}
你的程序错误太多了,好好看一下书吧。
板凳
zhushilu [专家分:0] 发布于 2008-11-26 14:30:00
问题已经解决了。
3 楼
zhushilu [专家分:0] 发布于 2008-11-26 14:38:00
这是我自己写的能运行的:
#include<iostream.h>
int sum(int x,int y)
{
if(x<0) x=-x;
if(y<0) y=-y;
return (x+y);
}
void main()
{
int k;
k=sum(5,4);
cout<<k<<endl;
}
你上面的//sum(5,4);是什么意思啊,还有在cout<<k<<endl;后面加
cout<<endl;
system("pause");
是什么原因啊?我认为没有必要啊
4 楼
zhushilu [专家分:0] 发布于 2008-11-26 14:48:00
我自己又修改了一下:
#include<iostream.h>
int sum(int x,int y)
{
cin>>x>>y;
if(x<0) x=-x;
if(y<0) y=-y;
return (x+y);
}
void main()
{
int k,x,y;
k=sum(x,y);
cout<<k<<endl;
}
发现如果void main()这段没有对x,y进行定义的话就会报错,在上面int sum(int x,int y)不是已经对它们定义为整型变量了吗?难道对主函数没作用?
我来回复