2015-02-16 5 views
1

У меня есть функция, которая имеет целое число в качестве формального параметра:Предупреждение при использовании - двоичный оператор в C++ для удаления int из переменной. В чем причина?

string function1(int hundreds) 
{ 
// some code 
else if (hundreds > 9) 
{ 
    hundreds - 5; 
} 

Когда я скомпилировать этот код, я получаю предупреждение находится в бинарном операторе минус говоря «результат выражения неиспользованного». Что вызывает это предупреждение?

Я думаю, что это не является хорошей практикой минус константа целое, а вместо этого, я должен определить переменную типа const int, который имеет значение 5 и принял это от hundreds вместо. то есть вместо того, чтобы hundreds - 5 я использовал:

const int DEDUCTION = 5; 
//code up to the following statement 
hundreds - DEDUCTION; 
+0

вы получаете «результат выражения не используется», потому что результат сотен - 5 не используется. Что ты пытаешься сделать? сотни = сотни - 5; (или эквивалентно сотни - = 5;) – thang

+1

'сотни - 5;' Это ничего не делает - это утверждение не имеет побочных эффектов. Возможно, вы имели в виду 'hundred - = 5;'? –

+0

@IgorTandetnik Это именно то, что я имел в виду :) Извините, это был долгий день. Я должен удалить этот вопрос. –

ответ

1

Вы должны либо присвоить результат другой переменной, либо присвоить ее как hundreds -= 5;. В противном случае результат просто отбрасывается.

1

Поскольку hundreds - 5 ничего не делает. Это как писать if (hundreds > 9) { 1; }.

0

Поскольку результат арифметического вычитания не используется, у вас есть соответствующее предупреждение. Вы считаете, что предположение о замене номера 5 на const int неверно, поскольку это не устраняет причину предупреждения.

+1

«Двоичный оператор» означает оператор, который принимает два аргумента; это двоичный минус, а аргументы - «сотни» и «5». –

 Смежные вопросы

  • Нет связанных вопросов^_^