Interpretacja ostrzeżenia z kompilatora

0

Co kiedy kompilator zwraca "warning: suggest parentheses assignment used as truth value [-Wparentheses]

0

To pytanie co w takim razie chcesz/próbujesz w danej linijce zrobić.
Drugie pytanie co rzeczywiście robisz.

3

masz coś takiego:

if (zmienna = fun())

Pewnie chciałeś coś takiego:

if (zmienna == fun())

A jeśli przypisanie było zamierzone, to kompilator ci mówi, żebyś zrobił tak:

if ((zmienna = fun()))

A jeśli masz coś takiego:

if (zmienna = 0)

to masz po prostu literówkę, bo warunek nigdy się nie spełni, więc przypisanie na pewno nie było twoim zamierzeniem.

Offtopic 1:
Dodatkowa rada: jak zadajesz pytanie na forum, zawsze dawaj kod, którego dotyczy błąd ostrzeżenie, żeby było wszystko jasne.
Ja byłem ci w stanie odpowiedzieć, bo ostatnio wyczyściłem moją szklaną kulę ;)

Offtopic 2:
Niektórzy, by zapobiegać takim błędom używają Yoda Condition:

if (0 == zmienna)

1 użytkowników online, w tym zalogowanych: 0, gości: 1