This is an overloaded || operator defined in my class:
bool operator|| (const MyClass& v) const {
return ......; //some calculation
}
The compiler reports an warning:
warning: user-defined 'bool MyClass::operator||(const MyClass&) const' always evaluates both arguments [-Weffc++]
I understand the warning because built-in || is short-circuit which might be different from what the user-defined operator intends to behave. But the thing is, I am required to have -Weffc++
turned on and any warning is not allowed. So what code of || overloading can resolve this warning (i.e., suppress this warning)? Thank you.
I'm using g++ 5.4.0 on Ubuntu 16.04.