这个问题是后续行动
Invalid operand compiler error involving std::equal_range
为了使用重载版本的std :: equal_range()将二进制比较谓词的地址作为第四个参数,还需要提供转换运算符,以便根据
http://en.cppreference.com/w/cpp/algorithm/equal_range
要在原始问题中描述的问题的上下文中进行此类型转换(请参阅开头的链接),需要提供可在V const&
和std::pair<K const&, V const&>
之间进行转换的转换运算符,其中K和V是模板参数。我的理解是转换运算符只能在类/模板类的范围内定义,唯一的可能性是从类/模板类转换为所需类型。
鉴于此限制,是否有一种方法可以定义转换运算符以解决调用std :: equal_range()的重载版本的先决条件,如原始问题中讨论范围内所预期的那样(请参阅开头的链接)?