2015-06-11 34 views
2

我定义的变量如下:编译错误使用boost ::时:: lockfree spsc_queue(?难道是提升一个bug)

boost::lockfree::spsc_queue<std::vector<char *>, boost::lockfree::capacity<10> > myVariable; 

,并在我的代码,我想休息吧:

myVariable.reset(); 

,但是当我编译我的代码,我收到此错误:

Error 17 error C2660: 'boost::lockfree::detail::ringbuffer_base<T>::pop' : function does not take 1 arguments C:\Local\boost\boost\lockfree\spsc_queue.hpp  

为什么我得到这个错误?

我使用的Visual Studio 2013在Windows 8.1

编辑1:

升压版本是1.57

+1

哪个版本的嘘安装在'C:\ Local \ boost' – sehe

+0

@sehe增加版本添加到问题。 – mans

回答

1

是的,这是一个错误的1.57和已被固定在1.58

+0

谢谢,你有没有参考?这里没有记录:http://www.boost.org/users/history/version_1_58_0.html – mans

+0

我刚刚比较了源代码。这似乎是合并提交https://github.com/boostorg/lockfree/commit/12f8d4621c9bc604285091945bf76f850b52b86e(它在编译时间大小的队列中为'reset()添加了一个新的测试用例) – sehe

+0

实际的提交是从https ://github.com/boostorg/lockfree/commit/6454f9fb8593243c92b6e9671961953c3cb77c96 – sehe