заявление без эффекта - PullRequest
       3

заявление без эффекта

0 голосов
/ 16 сентября 2011

По какой-то причине я получаю сообщение об ошибке: оператор не влияет на эту строку.

for ( j = idx; j < iter ; j + increment) {
        printf("from loop idx = %i", (int)idx);
        func(ctxt, j);
    }

Ответы [ 5 ]

9 голосов
/ 16 сентября 2011

Вы, вероятно, хотели написать j += increment вместо j + increment.

5 голосов
/ 16 сентября 2011

Я думаю, что вы имели в виду j += increment, поскольку j + increment на самом деле не меняет j или вообще не имеет никаких побочных эффектов - это утверждение без эффекта, о чем говорит вам компилятор

4 голосов
/ 16 сентября 2011

Заменить

j + increment

С

j += increment
1 голос
/ 16 сентября 2011

Вы получаете это как ошибку? Как здорово, я бы хотел, чтобы мой компилятор сделал это. В основном j + increment вернет сумму этих двух, но j не изменится, поэтому ваш цикл, вероятно, будет работать вечно.

0 голосов
/ 04 марта 2015

Понятно, что вы имели в виду + ​​=, но в случае, если это не так, классификатор 'volatile' должен предотвращать предупреждения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...