繁体   English   中英

我在C ++中得到未解决的错误重载函数类型

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM