On Sat, 1 Oct 2005, [EMAIL PROTECTED] 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