如果使用名称与循环变量名称相同的变量名称,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))
{
}
}
我理解问题的原因,但我想知道,这有可能解决吗? 我想不出任何解决方法(不需要虚函数等)。