帮我看看这个程序,为什么编译通过了,却链接不了?在线等!!!
#include<iostream>
#include<vector>
using namespace std;
class Triangular{
public:
Triangular(int len=1, int bp=1);
int length() const {return _length;}
int begin_pos() const {return _begin_pos;}
static void gen_elements(int end_pos);
private:
int _length;
int _begin_pos;
int _next;
static vector<int> _elems;
static int _max_elems;
};
int Triangular::_max_elems=1024;
Triangular::Triangular(int len,int bp)
:_length(len>0 ? len : 1),
_begin_pos(bp>0 ? bp : 1)
{
_next=_begin_pos-1;
int elem_cnt=_begin_pos+_length-1;
if(_elems.size()<elem_cnt)
gen_elements(elem_cnt);
}
void Triangular::gen_elements(int end_pos)
{
if(end_pos<0 || end_pos>_max_elems){
cerr<<"Wrong!";
return;
}
if(_elems.size()<end_pos)
{
int ix=_elems.size() ? _elems.size()+1 : 1;
for(;ix<=end_pos;++ix)
_elems.push_back(ix*(ix+1)/2);
}
}
int main(){
Triangular t(4,2);
return 0;
}
为什么编译通过了,却链接不了?