R
Richard Tobin
if (loc == 'u') <- warning: suggest parentheses around
assignment used as truth value
Do you really have that? Are you sure you don't have
if(loc = 'u')
?
-- Richard
if (loc == 'u') <- warning: suggest parentheses around
assignment used as truth value
which I tried.From some responses, it was suggested to add ( ) around the comparion,
Hi all,
I'm new to C and kind of confused on this.
I've had a look around this group for suggestions but still not sure
why the warning is occurring.
What I've done is this
<code snip>
Hi all,
I'm new to C and kind of confused on this.
I've had a look around this group for suggestions but still not sure
why the warning is occurring.
What I've done is this
<code snip>
void foo(char loc)
{
...
if (loc == 'u') <- warning: suggest parentheses around
assignment used as truth value
{
for (i=0, i<=max; i++)
foo2( .... );
}
}
which I tried.
void foo(char loc)
{
...
if ((loc == 'u')) <- still get warning: suggest parentheses around
assignment used as truth value
{
for (i=0, i<=max; i++)
foo2( .... );
}
}
Even after placing in the 2nd ( ) around my comparison, gcc -Wall is
still giving me the waring.
Can anyone shed some light on this please ?
TIA
Nat
I'd suggest checking
a) That you really do have "if (loc == 'u')" and absolutely definitely
do not have "if (loc = 'u')";
b) That "loc" is not a #define or the like. What happens if you change
the variable name to something else?
c) That the line you are carefully examining is indeed the same line
that the compiler is complaining about - sometimes line numbering goes
a bit odd. What happens if you comment it out?
Hope these help you track down the problem...
Paul.- Hide quoted text -
- Show quoted text -
It was the last comment that helped me out the most.
gcc -Wall was stating that my comparsion was somehow wrong so my focus
was on the if (loc == 'u') problem, as it corresponded to the line
number that gcc gave.
I had double checked that I used == and not = when in fact it was my
for loop that was giving me problems.
I personally find this warning incredibly pointless and irritating. I
use assignments as truth values extremely frequently, and I don't need
the compiler to patronize me!
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.