if ((vnd = (struct diam_vnd_t *)g_hash_table_lookup(vendors,vend))) {...}
Можете ли вы сказать мне, почему это назначение, но не логическое выражение в скобках? И в какой ситуации это задание можно считать «истинным» или «ложным»?Как оператор присваивания в выражении if служит условием?
Любой полууровневый компилятор будет предупреждать об этом по уважительным причинам – Olaf
@Olaf Даже после использования '((..))'? –
@SouravGhosh: Хм, я их действительно не замечал. Хорошо, я перехожу к «нужно». Проверено с помощью gcc: оно даже предлагает скобки, чтобы избежать предупреждения (и они работают). Heck, это должно требовать явного сравнения для подавления предупреждения, не менее заметного. Спасибо, что сообщили мне. – Olaf