Ошибка в коде, связанная с областями видимости переменных - C#

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. public uint Spend( uint Money )
  2. {
  3. if ( (this.Money - Money) < 0 )
  4. {
  5. uint tmp = this.Money;
  6. this.Money = 0;
  7. return Money - tmp;
  8. }
  9. uint tmp = this.Money;
  10. this.Money -= Money;
  11. return tmp - Money;
  12. }
Подчеркивает uint tmp = this.Money; ( которая в блоке if ) и говорит:
A local or parameter named 'tmp' cannot be declared in this scope because that name is used in an enclosing local scope to define a local or parameter
tmp же объявлена в блоке видимости:
Листинг программы
  1. if ( (this.Money - Money) < 0 )
  2. {
  3. uint tmp = this.Money;
  4. this.Money = 0;
  5. return Money - tmp;
  6. }
Какое отношения может быть между ней и тем что с низу я не пойму. На msd они ее выше по коду объявили, тут я с ними согласен, но в этом случая непонятно... http://msdn.microsoft.com/ru-ru/library/973aa6bt(v=vs.90).aspx

Решение задачи: «Ошибка в коде, связанная с областями видимости переменных»

textual
Листинг программы
  1. ( (this.Money - Money) < 0 )

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут