【发布时间】:2013-12-27 00:41:46
【问题描述】:
在一个方法中,我有一个局部变量
std::list<proiezione> ora;
和同类型的成员变量
std::list<proiezione> orb;
在我的方法中,我有
for (std::list<proiezione>::iterator it = ora.begin(); it != ora.end(); ++it)
this->orb.push_back(*it);
但不起作用!
this->mem 是空的!为什么?
准确地说:
class CMFCApplication4Doc : public CDocument
{
public:
std::map<CString, Esame> esami;
INT valore_lode;
proiezione pr;
std::list<proiezione> orb;
void get_proiezione(FLOAT media_desiderata);
}
void CMFCApplication4Doc::get_proiezione(FLOAT media_desiderata)
{
std::list<proiezione> ora;
std::vector<CString> v_proiezione;
CString appoggio;
std::map<CString, Esame> es = esami;
calcola_proiezione(ora,&pr, es, media_desiderata,valore_lode);
for (std::list<proiezione>::iterator it = ora.begin(); it != ora.end(); ++it)
this->orb.push_back(*it);
ecc ecc (I don't touch orb anymore)
}
在调试模式下,“ora”有 25 个元素,但“this->orb”有零个元素!
【问题讨论】:
-
mem = or;应该根据您的标题来判断。insert如果您真的想要附加列表。 -
or是 2.12/2 的保留标识符(||的替代拼写)。 -
同样的行为也改变了名字:(
标签: c++ list methods std member