0
我想类型T的矢量变换到vectorof型K. 我尝试这样做,但它不工作:使用的static_cast用的boost ::绑定
transform(vec.rbegin(),vec.rend(),vecNew.begin(),boost::bind(static_cast<K>(),_1));
我得到的错误:“期望的主要表达''''令牌'“之前。我究竟做错了什么?
我想类型T的矢量变换到vectorof型K. 我尝试这样做,但它不工作:使用的static_cast用的boost ::绑定
transform(vec.rbegin(),vec.rend(),vecNew.begin(),boost::bind(static_cast<K>(),_1));
我得到的错误:“期望的主要表达''''令牌'“之前。我究竟做错了什么?
使用升压投仿ll_static_cast<K>()
没有必要的静态投,除非有从T到K.没有隐式转换如果转换构造不明确,或者如果你是T ::运营商K( ),你可以这样做:
transform(vec.rbegin(),vec.rend(),vecNew.begin());
请注意,这也颠倒了元素的顺序。
您可能会说应该使用它,因为static_cast是一个运算符,如sizeof,而不是函数。 –
Omnifarious
2010-08-07 11:18:33