On Apr 18, 7:48 am, gw7...@aol.com wrote:
On 17 Apr, 13:06, nat...@yahoo.com.au wrote:
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( .... );
}
}
>From some responses, it was suggested to add ( ) around the comparion,
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 -
Thanks everyone for assisting but I've worked it out.
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.
printf statements everywhere helped alot !
Lastly, I wasn't sure if I could paste my code, that's why I
paraphrased so I'll remember that for next time !
Cheers
Nat