帮我看看这个程序,为什么编译通过了,却链接不了?在线等!!!

zpengenpz 2003-11-09 07:16:03
#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;
}
为什么编译通过了,却链接不了?

...全文
21 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zpengenpz 2003-11-09
  • 打赏
  • 举报
回复
谢谢两位!
seril 2003-11-09
  • 打赏
  • 举报
回复
容器内容没有初始化
onion_535 2003-11-09
  • 打赏
  • 举报
回复
这个静态变量定义少了,vector<int> Triangular::_elems;
zpengenpz 2003-11-09
  • 打赏
  • 举报
回复
自己先给自己顶一下吧!

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧