【发布时间】:2015-12-22 10:14:55
【问题描述】:
我有一个列表,里面全是struct account。
我想从我的函数返回一个account* 类型的指针。它是怎么做到的?
account* find_account(int ID){
for (list<account>::iterator i = accounts_database.begin; i != accounts_database.end; i++ ){
if (i->id==ID)
return &(*(i));
}
else return NULL;
}
这不起作用...
知道从迭代器获取account* 的正确方法是什么吗?
【问题讨论】:
-
“这不起作用” - 你得到什么错误?我猜想
const的事?提示:您使用const_iterator,但随后返回非const指针。 -
改了还是不行
-
请提供实际错误,SSCCE 也可能是个好主意。
-
C++ 中没有
for-else构造,就像 Python 中一样。去掉else关键字就可以了。