[英]C++ error: invalid types '<unresolved overloaded function type>[int]'
[英]I get error unresolved overloaded function type in c++
为什么这样的一段代码:
boost::bind (SomeFunc<float>, function arguments go here);
产生此错误:
no matching function for call to bind(<unresolved overloaded function type>
谢谢
可能您的函数SomeFunc<float>
已重载,在这种情况下boost::bind
无法处理此问题。 您必须实施手动解决方案,有关更多详细信息,请参见此处 :
您需要使用static_cast
告诉编译器哪个重载可以选择是否模棱两可,例如:
#include <boost/bind.hpp>
void foo(int) {}
void foo(double) {}
int main() {
boost::bind(static_cast<void(*)(int)>(&foo), _1);
}
有时, “无法解析的重载函数类型”可能意味着“没有重载是可行的”,在这种情况下,您需要弄清楚为什么它不能使用任何重载并进行修复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.