请教这个有关问题如何解决:error LNK2001: unresolved external symbol "void _cdecl swap(int,int)
请问这个问题怎么解决:error LNK2001: unresolved external symbol "void __cdecl swap(int,int)
主要代码:
#include <iostream>
using namespace std;
void swap(int , int );
int main()
{
int x=3,y=4;
cout<<"在main函数中,调用swap函数之前,x的值为:"<<x<<",y的值为:"<<y<<endl;
swap(x,y);
cout<<"在main函数中,调用swap函数之后,x的值为:"<<x<<",y的值为:"<<y<<endl;
return 0;
}
void swap(int&x, int&y)
{
cout<<"在swap函数中,调用swap函数之前,x的值为:"<<x<<",y的值为:"<<y<<endl;
int z;
z=x;
x=y;
y=z;
cout<<"在swap函数中,调用swap函数之后,x的值为:"<<x<<",y的值为:"<<y<<endl;
}
最后链接时出现以下错误:
Linking...
fanleixuexi.obj : error LNK2001: unresolved external symbol "void __cdecl swap(int,int)" (?swap@@YAXHH@Z)
Debug/fanlei.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
fanlei.exe - 1 error(s), 0 warning(s)
------解决方案--------------------
void swap(int , int );//这里声明有错
void swap(int&x, int&y)//要改成和下面的一致才行
------解决方案--------------------
void swap(int , int );
void swap(int&x, int&y)
声明和定义之间要一直,否则函数找不到入口!
主要代码:
#include <iostream>
using namespace std;
void swap(int , int );
int main()
{
int x=3,y=4;
cout<<"在main函数中,调用swap函数之前,x的值为:"<<x<<",y的值为:"<<y<<endl;
swap(x,y);
cout<<"在main函数中,调用swap函数之后,x的值为:"<<x<<",y的值为:"<<y<<endl;
return 0;
}
void swap(int&x, int&y)
{
cout<<"在swap函数中,调用swap函数之前,x的值为:"<<x<<",y的值为:"<<y<<endl;
int z;
z=x;
x=y;
y=z;
cout<<"在swap函数中,调用swap函数之后,x的值为:"<<x<<",y的值为:"<<y<<endl;
}
最后链接时出现以下错误:
Linking...
fanleixuexi.obj : error LNK2001: unresolved external symbol "void __cdecl swap(int,int)" (?swap@@YAXHH@Z)
Debug/fanlei.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
fanlei.exe - 1 error(s), 0 warning(s)
------解决方案--------------------
void swap(int , int );//这里声明有错
void swap(int&x, int&y)//要改成和下面的一致才行
------解决方案--------------------
void swap(int , int );
void swap(int&x, int&y)
声明和定义之间要一直,否则函数找不到入口!