怎么正确取出存有结构体的vector中的成员
如何正确取出存有结构体的vector中的成员设计了vector 其中放入结构体如下C/C++ codestruct OnLineUser{ch
如何正确取出存有结构体的vector中的成员
设计了vector 其中放入结构体如下
C/C++ codestruct OnLineUser{ char IP_addr[IP_MAX_LENGTH];//在线用户IP地址 TalkDLG *UIDialogOpen;//是否已与该用户打开对话框};typedef std::vector<OnLineUser> VECTOR_ELIST;typedef std::vector<OnLineUser>::const_iterator ITER;
在之后对其调用时下标是不是无法正确取出如下
C/C++ codeOnLineList[1].UIDialogOpen = (TalkDLG *) pThread->m_pMainWnd;
但是改用指针后,为什么下面最左边的括号报错,说必须是可改变的左值?请大神指教
(*iter).UIDialogOpen = (TalkDLG *) pThread->m_pMainWnd;//获得线程窗口指针
[解决办法]那就是说,不让你改变左值了,可能用了const什么的
[解决办法]既然要赋值 又何必定义为const_iterator 迭代器呢
[解决办法]const_iterator 指向常量对象 不允许修改
[解决办法]typedef std::vector<OnLineUser>::const_iterator ITER;
改为:typedef std::vector<OnLineUser>::iterator ITER;
我只能说有可能是这儿的问题
还可以告诉你用下标是可以的,应该是你用的有问题