【发布时间】:2014-03-26 12:03:41
【问题描述】:
我有一个这样的结构。
struct MaxWinPerElementInfo
{
std::string paytableName;
std::string elementName;
long long elementCredits;
bool multiplierRequired;
};
我想找到与paytableName 匹配的元素。为此,我计划将std::find_if 与谓词函数一起使用。
我将struct MaxWinPerElementInfo 中的函数对象声明为,
bool operator() ( const MaxWinPerElementInfo &elementInfo ) const
{
return paytableName == elementInfo.paytableName;
}
现在我尝试通过调用来搜索元素,
std::find_if( elementInfo.begin(), elementInfo.end(), MaxWinPerElementInfo( paytable));
在哪里
elementInfo 是 std::vector< struct MaxWinPerElementInfo > 和 paytable 是 std::string。
为此我收到了错误,no known conversion for argument 1 from ‘std::string {aka std::basic_string<char>}’ to ‘const MaxWinPerElementInfo&’
我不能使用 c++11,因为这是旧代码。
我在这里缺少什么?任何建议都会很有帮助。
【问题讨论】: