为了账号安全,请及时绑定邮箱和手机立即绑定

c++ gcc多文件链接出现undefined reference to怎么解决?

c++ gcc多文件链接出现undefined reference to怎么解决?

守候你守候我 2019-03-12 13:10:23
我想不是代码的错,试了用vc98可以编译,但是用gcc就不行,用gcc写其他链接还是这个问题。我还把代码贴上来吧。头文件.....................ifndef SALES_H_INCLUDEDdefine SALES_H_INCLUDEDnamespace SALES{    const int Q=4;    struct Sales    {        double sales[Q];        double average;        double max;        double min;    };    void setsales(Sales& s,const double ar[],int n);    void setsales(Sales& s);    void showsales(const Sales& s);}#endif // SALES_H_INCLUDED源文件1.................................#include<iostream>#include"sales.h"namespace SALES{    using namespace std;        void setsales(Sales& s,const double ar[],int n)    {        double max=ar[0],min=ar[0],sum=ar[0];        for(int i=1;i<n;i++)        {            if(ar[i]>max)                max=ar[i];            if(ar[i]<min)                min=ar[i];                sum+=ar[i];        }        s.max=max;        s.min=min;        s.average=sum/++n;    }    void setsales(Sales& s);    void showsales(const Sales& s);}main源文件............................include<iostream>include"sales.h"using namespace std;int main(){    using namespace SALES;    Sales m1,m2;    double a[4]={1.1,2.2,3.3,4.4};    setsales(m1,a,4);}
查看完整描述

4 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

VS2015的clang大部分兼容gcc,可以通过编译,楼上的知乎问题主要是template函数,函数声明与定义要在同一头文件下的。所以我个人认为是编译器问题吧


查看完整回答
反对 回复 2019-04-25
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

问题改过了?为什么我直接编译就过了

环境:windows10rs1, msys2, g++6.2

https://img1.sycdn.imooc.com//5cc1273a0001060d01260096.jpg

查看完整回答
反对 回复 2019-04-25
  • 4 回答
  • 0 关注
  • 2204 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号