| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 806 人关注过本帖
标题:不同文件如何编译连接
取消只看楼主 加入收藏
charderkk
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2010-8-24
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:1 
不同文件如何编译连接
编了个求中位数的程序 median.cpp
#include<vector>
#include<algorithm>
#include<stdexcept>
#include"median.h"
using namespace std;
typedef vector<double>::size_type vec_sz;
double median(vector<double> vec){
    vec_sz size=vec.size(),mid=size/2;
    if(size==0)
        throw domain_error("vector is empty");
    sort(vec.begin(),vec.end());
    return size%2==0?(vec[mid]+vec[mid-1])/2:vec[mid];
}
又写了头文件 median.h
#ifndef GUARD_median_h
#define GUARD_median_h

#include<vector>
double median(std::vector<double>);

#endif
但在一个程序test.cpp
#include<iostream>
 #include<string>
 #include<vector>
 #include"median.h"
 using namespace std;
 typedef vector<double>::size_type vec_sz;

 int main(){
 vector<double> homework;
 double x;
 while(cin>>x)
    homework.push_back(x);
 
 cout<<median(homework)<<endl;
 return 0;
 }

中调用时,在cmd中编译时出现以下提示
E:\cpp>g++ -o test test.cpp
C:\Users\charderkk\AppData\Local\Temp/ccsPWT7J.o:test.cpp:(.text+0x222): undefined
 reference to `median(std::vector<double, std::allocator<double> >)'
collect2: ld returned 1 exit status

请问是什么原因,还有就是在通常的文件编译连接有什么要注意的地方

[ 本帖最后由 charderkk 于 2011-1-26 18:09 编辑 ]
搜索更多相关主题的帖子: return 中位数 
2011-01-26 16:51
charderkk
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2010-8-24
收藏
得分:0 
回复 3楼 zhoufeng1988
非常感谢
2011-01-27 12:37
快速回复:不同文件如何编译连接
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041269 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved