boost managed_shared_memory保存vector问题

mcaok 2011-05-10 11:09:15
第一次使用boost,在共享内存中保存vector。可是在输出的时候提示找不到结构体的成员,请问是什么原因。谢谢。

typedef struct log{
long a;
long b;
}log;
typedef allocator<log, managed_shared_memory::segment_manager> ShmemAllocator;
typedef vector<log, ShmemAllocator> LoggerVector;
......

......
LoggerVector *myvector = segment.find<LoggerVector>("LoggerVector").first;
vector<log, ShmemAllocator>::iterator iter;
for (iter = myvector->begin(); iter != myvector->end(); iter++) {
cout<<iter.a<<endl; //这里提示 has no member named ‘portId’
}

...全文
220 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2011-05-10
  • 打赏
  • 举报
回复
这个问题你竟然敢问。。。还敢用boost。
h100037 2011-05-10
  • 打赏
  • 举报
回复
cout<<iter.a<<endl;

至少要解引用哦, (*iter).a
tan870426 2011-05-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 pengzhixi 的回复:]

*iter.a
[/Quote]yes
mcaok 2011-05-10
  • 打赏
  • 举报
回复
还得加个括号。(*iter).a就好了。谢谢。
pengzhixi 2011-05-10
  • 打赏
  • 举报
回复
*iter.a

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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