布尔函数

Boolean function

本文关键字:函数 布尔      更新时间:2023-10-16

我正在尝试使用find_if布尔函数来返回true if if:

  1. Z是=<10
  2. name="john"(全部小写(

我的代码:

/* predicate for find_if */
bool exam_pred(const exam_struct &a)
{
  if ((a.Z=<10)&&(a.name="john")) 
  {
     return true;
  }   
}
exam_struct{
  int x,y;
  double Z;
  string name;
};

当我设置a.name="john"时,它不会编译。所以我的问题是如何将a.name="john";实现到我的布尔值中?

您确实应该使用==运算符。

我以前建议strcmp是错误的,因为您使用的是字符串。

代码:

struct exam_struct {
    int x, y;
    double Z;
    string name;
};
/* predicate for find_if */
bool exam_pred(const exam_struct& a)
{
    return a.Z <= 10 && a.name=="john";
}

请注意,在原始代码中,当检查为false时,不会返回false

=是赋值运算符。使用==进行相等比较。较小或等于的运算符是<=,而不是=<