请教一个容器的容器问题

xiongzm 2007-12-05 09:50:20
C++初学者,碰到一个关于容器方面的问题:

对象: 珠子,链, 多链
链由珠子组成,多根链形成多链体系

第一种方法:通过指向珠子的二级指针来表示多链体系


struct MON
{
long rx;
long ry;
long rz;
long id;

explicit
MON( long lrx, long lry, long lrz, long lid ):
rx(lrx), ry(lry), rz(lrz), id(lid)
{
}
};

typedef vector <MON> CHAIN;
typedef vector <MON>::iterator Iterator;

CHAIN **chain;
CHAIN *chainhead;

------


chain = new chain* [nchain];


for ( int i = 0; i < nchain; i++ )
{
chainhead = chain[i];
for ( int j = 0; j < nmon; j++ )
{
lrx = it; lry = it; lrz = it; lid = it;
chainhead->push_back( MON( lrx, lry, lrz, lid ) );
}
}



上面的代码 chainhead->push_back( MON( lrx, lry, lrz, lid ) ); 运行就segmentation fault了。

第二种方法就是 由珠子构造 链 容器, 然后由链容器 构造 多链 容器
不知道怎么实现。


typedef vector <MON> SCHAIN;
typedef vector <SCHAIN> MCHAIN;
...全文
40 点赞 收藏 1
写回复
1 条回复
ryfdizuo 2007年12月06日
应该是CHAIN *chain;
CHAIN本来就是数组啊;
回复 点赞
发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告