VC++编译出错
小弟初学VC,现有一程序编译出错,请大家看看(两个cpp文件):
/* main.cpp 主程序 */
#include<iomanip.h>
#include"abc.cpp"
void main()
{
double a,b,c;
double averageValue;
a=2;b=3;c=4;
averageValue=AVE(a,b,c);
cout<<"averageValue:"<<averageValue<<endl;
averageValue=AVE(a,b+1,c+2);
cout<<"averageValue:"<<averageValue<<endl;
}
/* abc.cpp */
double AVE(double x,double y,double z)
{
return (x+y+z)/3;
}
两个cpp文件compile都成功,但build出现如下错误信息:
bc.obj : error LNK2005: "double __cdecl AVE(double,double,double)" (?AVE@@YANNNN@Z) already defined in main.obj
Debug/bx.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
不知是什么原因?