Wishlish: GCC option for explicit booleans

Nicholas Nethercote njn@cs.utexas.edu
Mon Oct 3 02:07:00 GMT 2005


On Sat, 1 Oct 2005, pl@nch.com.au wrote:

> C++ would be a better language if the boolean type did not implicitly
> convert from int. For example, many novice programmers make the
> mistake.
>
>   if (i = j) dosomething(); // Should be i == j
>
> If conversion to boolean required explicit this would all be solved. It
> would mean all the old code with expressions like "while (p) ... "
> would need to be changed to "while (p != NULL) ...". But I think the
> change would be well justified.
>
> What about a GCC option to turn off implicit conversion to boolean?

[~] more a.cpp
int main(void)
{
     int i = 0, j = 0;
     if (i = j)
         return 0;
     else
         return 1;
}
[~] g++ -Wall a.cpp
a.cpp: In function `int main()':
a.cpp:4: warning: suggest parentheses around assignment used as truth value

Nick



More information about the Gcc mailing list