首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大大,帮忙看上这个程序,解释上为什么链接通不过

2012-07-31 
大大,帮忙看下这个程序,解释下为什么链接通不过?#include iostream#include string#include vectoru

大大,帮忙看下这个程序,解释下为什么链接通不过?
#include <iostream>
#include <string>
#include <vector>

using namespace std;

class Triangular
{
public:
Triangular(int len=1,int bp=1):_length(len),_beg_pos(bp),_next(_beg_pos-1){}
int beg_pos() const{return _beg_pos;}
int length() const{return _length;}
int elem(int pos) const{return _elems[pos-1];}

private:
int _length;
int _beg_pos;
int _next;
static vector<int> _elems ;
};
int sum(const Triangular &trian);
void main()
{
Triangular t1;
}
int sum(const Triangular &trian)
{
int beg_pos=trian.beg_pos();
int length=trian.length();
int sum=0;
for(int ix=0;ix<length;++ix)
sum+=trian.elem(beg_pos+ix);
return sum;
}


1>------ 已启动生成: 项目: Test_1, 配置: Debug Win32 ------
1>正在链接...
1>main.obj : error LNK2001: 无法解析的外部符号 "private: static class std::vector<int,class std::allocator<int> > Triangular::_elems" (?_elems@Triangular@@0V?$vector@HV?$allocator@H@std@@@std@@A)
1>E:\Test_08\Test_1\Debug\Test_1.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>生成日志保存在“file://e:\Test_08\Test_1\Test_1\Debug\BuildLog.htm”
1>Test_1 - 2 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========




[解决办法]

探讨
引用:

引用:
求解释下原因,这里我使用static是因为,让所有的类对象共享一份内存,所以除了去掉static还有其他办法吗?

将方法改成static方法就OK了,结贴吧,给分


按照你的方法我将方法改成了static方法,但是新的问题又出现了

#include <iostream>
#include <string>
#inclu……

热点排行