c++: 我在一个cpp的主函数里面调用了自己写的“A.h”文件,“A.h”文件里面有STL的list容器,list容器是调
c++:我在一个cpp的主函数里面调用了自己写的“A.h”文件,“A.h”文件里面有STL的list容器,list容器是调用“usr.h”的classuser{publi...
c++: 我在一个cpp的主函数里面调用了自己写的“A.h”文件,“A.h”文件里面有STL的list容器,list容器是调用“usr.h” 的class user{ public: int a;}进行初始化的,list<user> usr;
可是在编译的时候提示usr.push_back();操作出错Invalid arguments ' Candidates are: void push_back(const User &) '
对于迭代器对list中元素的成员a的访问也出错:
code:
list<User>::const_iterator find_iterator;
......
find_iterator->a // 这里提示错误:Field '_id' could not be resolved 展开
可是在编译的时候提示usr.push_back();操作出错Invalid arguments ' Candidates are: void push_back(const User &) '
对于迭代器对list中元素的成员a的访问也出错:
code:
list<User>::const_iterator find_iterator;
......
find_iterator->a // 这里提示错误:Field '_id' could not be resolved 展开
3个回答
展开全部
很明显楼主没有 先了解清楚 LIST 的具体用法,建议使用容器时先了解清楚容器的相关用法再使用
根据错误提示可以知道,作者是直接调用 usr.push_back() 的 没有传递参数
根据错误提示可以知道,作者是直接调用 usr.push_back() 的 没有传递参数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
user l; push_back(l); find_iterator=usr.begin();
要注意迭代器失效的情况,如果执行了erase(i);
那么迭代器就会失效要重新赋值或者 i=usr.erase(i);//返回的是i的下一个地址
要注意迭代器失效的情况,如果执行了erase(i);
那么迭代器就会失效要重新赋值或者 i=usr.erase(i);//返回的是i的下一个地址
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
usr.push_back();
Invalid arguments ' Candidates are: void push_back(const User &) '
// 需要一个const user&类型的参数
list<User>::const_iterator find_iterator;
find_iterator = usr.begin();
Invalid arguments ' Candidates are: void push_back(const User &) '
// 需要一个const user&类型的参数
list<User>::const_iterator find_iterator;
find_iterator = usr.begin();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询