【发布时间】:2015-02-02 04:15:16
【问题描述】:
我正在尝试绑定到bool std::operator==(const std::string&, const std::string&),但我遇到了一个错误,希望有人能帮助我。
std::string v1 = "foo";
std::string v2 = "foo";
bool r =
std::bind(
static_cast<bool(*)(const std::string&, const std::string&)>(&std::operator== ),
std::placeholders::_1,
std::cref(v1))(v2);
error: invalid static_cast from type '<unresolved overloaded function type>' to type 'bool (*)(const string&, const string&) {aka bool (*)(const std::basic_string<char>&, const std::basic_string<char>&)}'
&std::operator== ),
^
示例:ideone.com
【问题讨论】:
-
你内心的声音不是在告诉你可能不应该使用这些东西吗?
std::bind是用来开玩笑的,不是用来当真事的……
标签: c++