回 帖 发 新 帖 刷新版面

主题:一个关于函数的定义与引用的问题,老是出错,唉……

#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个回复)

沙发

#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;
}

你的程序错误太多了,好好看一下书吧。

板凳

问题已经解决了。

3 楼

这是我自己写的能运行的:
#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 楼

我自己又修改了一下:
#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)不是已经对它们定义为整型变量了吗?难道对主函数没作用?

我来回复

您尚未登录,请登录后再回复。点此登录或注册