【发布时间】:2014-08-03 16:37:49
【问题描述】:
我想将一个重载运算符传递给一个函数,该函数无法确定它应该使用两个重载中的哪一个。
// This works, not overloaded:
chai.add(chaiscript::fun(&HttpRequest::operator+), "+");
// This does not, overloaded:
chai.add(chaiscript::fun(&(
std::map<std::string,std::string>::operator[]), "[]");
chaiscript::fun 需要一个泛型参数,但它无法确定要使用哪个重载。
我需要指定重载,但我不知道语法。
我试过这样的事情:
chai.add(chaiscript::fun(&(
std::map<std::string,std::string>::operator[]<foo>), "[]");
但这不起作用。
指定重载的语法是怎样的?
【问题讨论】:
-
运算符重载在这里是一个红字,你只想从重载集中选择一个特定的函数...
-
请注意,括号不平衡。有趣的是,二元运算符和一元运算符一样有趣。
标签: c++ stl overloading operator-keyword