大伙儿看下面这个代码中向量迭代器的_Myptr变量用什么代替,源程序的无发编译通过
大家看下面这个代码中向量迭代器的_Myptr变量用什么代替,源程序的无发编译通过
上面是源代码,编译后出现错误
那大家看这个应该怎么解决呢?应该有这个_Myptr的替代品吧,其实vc中用查看定义能够找他在vector.h中有一个这个,不过是在iterator_12里面定义的,求高手们来解决这个问题,谢谢。
------解决方案--------------------
我这测试了,没有压力的通过了,我也看了这个的声明它是做为了
------解决方案--------------------
我这没有任何问题呀,编译都通过了
template<class T> inline uint max_idx( const vector<T> &v )
{
return (uint)(max_element(v.begin(),v.end())._Myptr-v.begin()._Myptr);
}
上面是源代码,编译后出现错误
1>e:\research\coding\tracking\miltracker-v1.0\boosttrackerpublic\Public.h(184): error C2039: “_Myptr”: 不是“std::_Vector_const_iterator<_Myvec>”的成员
1> with
1> [
1> _Myvec=std::_Vector_val<float,std::allocator<float>>
1> ]
1> Generating Code...
1>
那大家看这个应该怎么解决呢?应该有这个_Myptr的替代品吧,其实vc中用查看定义能够找他在vector.h中有一个这个,不过是在iterator_12里面定义的,求高手们来解决这个问题,谢谢。
------解决方案--------------------
我这测试了,没有压力的通过了,我也看了这个的声明它是做为了
auto_ptr的成员 _Ty *_Myptr;
allocator<void>类模版中的 typedef void _Ty;
------解决方案--------------------
我这没有任何问题呀,编译都通过了