- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我所有的工作都发生在名为 thread_pool
的类中。无论 run_item 本身包含什么,此代码都将起作用:
template <class task_return_t>
void thread_pool::pool_item( boost::shared_ptr< boost::packaged_task<task_return_t> > pt)
{
internal_tasks.post(boost::bind(&thread_pool::run_item<task_return_t>, this, pt));
//...
这不会编译:
template <class task_return_t>
void thread_pool::pool_item( boost::shared_ptr< boost::packaged_task<task_return_t> > pt)
{
boost::packaged_task<void> task ( boost::bind(&thread_pool::run_item<task_return_t>, this, pt)));
internal_tasks.post( task);
为什么?以及如何编译?
我使用 boost 1.47.0。错误我的 VS2010 使我高大上:
Error 6 error C2665: 'boost::asio::detail::zero_arg_handler_test' : none of the 2 overloads could convert all the argument types C:\Program Files (x86)\Boost-1.47.0\include\boost\asio\impl\io_service.hpp 88 1 cf-server
Error 9 error C2664: 'void boost::asio::detail::task_io_service::post<CompletionHandler>(Handler)' : cannot convert parameter 1 from 'const boost::packaged_task<R>' to 'boost::packaged_task<R>' C:\Program Files (x86)\Boost-1.47.0\include\boost\asio\impl\io_service.hpp 90 1 cf-server
Error 8 error C2664: 'T &boost::asio::detail::lvref<CompletionHandler>(T)' : cannot convert parameter 1 from 'const boost::packaged_task<R>' to 'boost::packaged_task<R>' C:\Program Files (x86)\Boost-1.47.0\include\boost\asio\impl\io_service.hpp 88 1 cf-server
Error 7 error C2664: 'boost::asio::detail::clvref' : cannot convert parameter 1 from 'const boost::packaged_task<R>' to 'boost::packaged_task<R>' C:\Program Files (x86)\Boost-1.47.0\include\boost\asio\impl\io_service.hpp 88 1 cf-server
最佳答案
看起来像函数thread_pool::run_item<task_return_t>
接受一个非常量打包的任务引用(或指针)但是 boost::bind 生成了一个 const
复制,无法传递参数。
没有看到 run_item
签名,我不能说得很清楚,但我会去那里找。
编辑:看得更深一点(一旦我能找到 boost 1_47 的拷贝),问题是 boost::packaged_tasks
不可复制,但是,boost::asio::io_service
要求 CompletionHandler 是 CopyConstructable。自 boost::packaged_tasks
只有 MoveConstructable/MoveAssignable,您不能将它们直接传递给 io_service。
关于c++ - Boost 在 Boost packaged_task 中绑定(bind)。为什么 boost asio 认为它不是 CompletionHandler?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7254005/
当我在 Debug模式下在 iPhone 模拟器中进行身份验证时,将运行下面代码中的第一个 if 语句。但是,当我在安装了 Evernote 客户端的 iPhone 上进行调试时,if 语句未被评估。
在我使用 URLSession.dataTask(with:completionHandler:) 创建新的 session 数据任务之后并通过调用其 resume() 来启动任务方法,鉴于应用程序在
我是今天扩展的新手,我收到了这个警告,有人知道如何匹配可选要求吗? Instance method 'widgetPerformUpdate(completionHandler:)' nearly m
我想了解 NSObject 可能属于哪个类(除 NSAlert、NSOpenPanel 和 NSSavePanel 之外),以便响应上述调用(如问题标题中所示)。这是我需要做的场景。菜单选择的操作必须
我在互联网上到处搜索,但无法真正处理我找到的答案。因此,如果有人可以在这里帮助我,我将不胜感激。 我写了一个看起来像这样的函数: func setImage(imageName: String, co
为什么我的完成处理程序出现问题,我该如何解决? func loadImageusingCacheWithUrlString(urlString: String) { self.image =
我试图将 bool 值传递给我的完成处理程序。当应用程序运行时,将 bool 传递给我的完成处理程序的结果决定了我显示的警报。如果我在错误检查中调用它,应用程序会崩溃/锁定。如果我在其他任何地方调用它
所以我试图让它在完成处理程序之后做一些事情,但我一直收到错误: expected CLGeocodeCompletionHandler class func didCompleteGeocoding(
我想为我的 completionHandler 默认参数传递: func firstFunc(completionHandler: ((array:[String:AnyObject] = [:])
我最近加入了一个新项目并开始研究 iOS 应用程序代码库。但是,在最新的 Xcode 10 中,代码不再编译。 protocol NetworkClientType { associatedtyp
以下代码是线程安全的吗?如果是这样,如何保证ByteBuffer 的安全发布?执行 CompletionHandler 的线程的实例? AsynchronousSocketChannel channe
This question already has answers here: Swift 3 URLSession.shared() Ambiguous reference to member 'd
在 Xcode 5.0.2 中设置要显示为模式表的 NSAlert 对象时,我遇到了一个有趣的惊喜。 我计划使用 beginSheetModalForWindow:modalDelegate:didE
我已经执行了代码,但收到completionHandler 错误 如果没有更多上下文,表达类型不明确 据我了解,这是由于completionHandler 不匹配造成的。如何为completionHa
我正在使用 AVAssetImageGenerator 从影片剪辑中获取图像,而无需先播放它。现在我有一个问题如何在处理程序的循环中设置变量?是否可以?我收到此错误消息,但不知道这意味着什么。 (谷歌
我已经执行了代码,但收到completionHandler 错误 如果没有更多上下文,表达类型不明确 据我了解,这是由于completionHandler 不匹配造成的。如何为completionHa
我试图在加载数据后加载我的 CollectionView,但我不知道应该如何使用 CompletionHandler 来执行此操作。感谢帮助我的代码如下:用于获取数据: func GETData(){
我正在尝试使用 openActiveSessionWithPublishPermissions 在 Facebook 上发布消息,因此如果用户未登录,他需要先登录,然后使用 io6 Facebook
我有以下方法,如果 SessionStatus 完成,我想返回 movieDestinationUrl,但是我不断收到此错误 Unexpected non-void return value in v
我有一个 UITextField,它允许用户为 Facebook 照片输入自定义相册名称。 textFieldShouldReturn 后,我将 textField.text 发送到 Facebook
我是一名优秀的程序员,十分优秀!