读书人

c++模板函数编译有关问题

发布时间: 2013-04-07 12:50:11 作者: rapoo

c++模板函数编译问题
项目中用到了基于boost::asio 开发的bas库,之前是跑在其他硬件平台上,可以编译通过;现在要把项目移植到TI DM365平台上,用DM365自动的编译器arm-none-linux-gnueabi-g++ 进行编译,在编译bas时发现如下问题:
bas/service_handler.hpp:198: error: expected primary-expression before '>' token
../bas/service_handler.hpp:198: error: expected primary-expression before ',' token

其中service_handler.hpp除错的函数如下:

template<typename Buffers>
void async_read_some(const Buffers& buffers)
{

io_service().dispatch(boost::bind(&service_handler_type::async_read_some_i<Buffers>,shared_from_this(),buffers));
}
模板实参<Buffers> 编译不通过,不知如何解决

交叉编译c++模板函数编译出错
[解决办法]
&service_handler_type::async_read_some_i<Buffers>

改为


&service_handler_type:: template async_read_some_i<Buffers>




读书人网 >C++

热点推荐