我正在尝试使用reference_wrappers的向量进行一些工作,并遇到一些问题。这就是我得到的:
std::vector<std::reference_wrapper<Type>> vec;
//Some stuff...
for(int i = 0; i < vec.size(); i++)
{
if(&vec[i] == &vec)
{
return true;
}
}
这不起作用。我是std :: reference_wrapper的新手,所以我想我不知道如何使用它。上面的例子给我一个'缺乏演员'错误。
我还有另外一个地方可以做的事情:
vec[i].someMethod();
哪个收益率:
__gnu_cxx::__alloc_traits<std::allocator<std::reference_wrapper<Type> > >::value_type’ has no member named 'someMethod()'
我正在使用GCC4.8
答案 0 :(得分:3)
一些简单的例子
int i = 10;
std::vector<std::reference_wrapper<int>> v;
v.push_back( std::ref( i ) );
std::cout << v[0] << std::endl;
std::cout << v[0].get() << std::endl;
在您的情况下,构造将显示为
vec[i].get().someMethod();
P.S。我没看过你的最新帖子。