注册 登录
编程论坛 C++教室

新手求助:大家帮我看一下这段代码.谢了...

七星0 发布于 2012-03-12 16:35, 544 次点击
一直提示有一个错误.这个是什么意思,我的是中文的V6.0.
4.obj : error LNK2005: _main already defined in 3.obj
5.obj : error LNK2005: _main already defined in 3.obj
5.obj : error LNK2005: "void __cdecl swap(int,int)" (?swap@@YAXHH@Z) already defined in 4.obj
Debug/3.exe : fatal error LNK1169: one or more multiply defined symbols found
执行 link.exe 时出错.
代码如下:
#include <iostream>
using namespace std;
void swap(int,int);
int main()
{
    int a;
    int b;
    cout<<"请输入a的值:";
        cin>>a;
    cout<<endl;
    cout<<"请输入b的值:";
        cin>>b;
    cout<<endl;
    cout<<"调用swap函数之前a,b的值为:"<<a<<"\t"<<b;
    swap(a,b);
    cout<<"请输入a的值:";
        cin>>a;
    cout<<endl;
    cout<<"请输入b的值:";
        cin>>b;
    cout<<endl;
    cout<<"调用swap函数之后a,b的值为:"<<a<<"\t"<<b;
    return 0;
}
void swap(int x,int y)
{
   int z;
   z=x;
   x=y;
   y=z;
}

4 回复
#2
AndyLance2012-03-12 19:44
如果你用的是vc++6.0的话,那么是没办法编译通过的,因为vc++6.0用的是老的标准,你最好使用的事vs2008或vs2010,这两个用的是新的标准
#3
七星02012-03-12 20:38
回复 2楼 AndyLance
我觉得好像不是这个原因,这个VC6.0换了N次了,好不容易能用了,我也不想再换了.我用的教材上是VC6.0.能不能改一下上面的代码试下.
#4
Wikyo_hoho2012-03-12 20:52
vc++6.0运行没问题。是你main函数重复定义了,应该是当前工程中的其他文件中你也定义了main函数,其中应该也定义了main函数。你要么关闭工作空间重新创建个CPP文件,拷贝代码进去试试看。
#5
七星02012-03-12 21:09
回复 4楼 Wikyo_hoho
是的.谢了...
1