2

ループ変数の名前と同じ名前の変数の名前を使用すると、BOOST_FOREACH混乱します。

#include <boost/foreach.hpp>
#include <vector>

struct Test { };
std::vector<int> test(Test) { return std::vector<int>(); }
Test c;

int main()
{
    BOOST_FOREACH (int c, test(c))
    {
    }
}

問題の原因は理解していますが、これを修正することは可能でしょうか?
それを回避する方法は考えられません(仮想関数などは必要ありません)。

4

0 に答える 0