誰もVC9で次のエラーが発生する理由を知っていますか?BOOST_FOREACH:これをSTLコンテナで使用する際のエラーは何ですか?
class Elem;
class ElemVec : public vector<Elem>
{
public:
void foo();
};
void ElemVec::foo()
{
BOOST_FOREACH(Elem& elem, *this)
{
// Do something with elem
}
return;
}
私が手にエラーがある:
error C2355: 'this' : can only be referenced inside non-static member functions
エラーなしでコンパイル私が今持っている唯一の(ハック)ソリューションです:
void ElemVec::foo()
{
ElemVec* This = this;
BOOST_FOREACH(Elem& elem, *This)
{
// Do something with elem
}
return;
}
それを指摘してくれてありがとう。私はBoost 1.35で、私は1.38にアップグレードし、あなたに戻ってきます。 –
ブースト1.38でエラーがなくなりました。どうもありがとう! :-) –