c++ gcc多文件链接出现undefined reference to怎么解决?
高洛峰
高洛峰 2016-10-27 15:42:35
0
1
1292

1.png

1.png

我想不是代码的错,试了用vc98可以编译,但是用gcc就不行,用gcc写其他链接还是这个问题。
我还把代码贴上来吧。
头文件.....................

ifndef SALES_H_INCLUDED define SALES_H_INCLUDED namespace 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 #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;imax) max=ar[i]; if(ar[i]
      

main源文件............................

include 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); }


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆 (1)
三叔

我觉得是const 的问题 是C/C++编译为obj文件的时候并不需要函数的具体实现,只要有函数的原型即可。但是在链接为可执行文件的时候就必须要具体的实现了。如果错误是未声明的引用,那就是找不到函数的原型,解决办法通常是相关的头文件未包含。
传送门
我将setsales函数定义在sales.h文件里就编译通过了。
这有一个类似的问题:https://www.zhihu.com/questio...

    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!