Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: 6302
Последний выпуск: 19.06.2015

Облать видимости переменной, не понимаю почему не видит

95K
02 февраля 2015 года
Дмитрий Конопинский
1 / / 31.01.2015
  1. bool[] _Form1Opened=new bool[20]; //состояние закрытия Form1
  2. bool[] _Form1Closed = new bool[20]; //состояние открытия Form1
  3. bool needInitOpenGL=true;
  4. private bool _needInitOpenGL(bool[] _Form1Opened, bool[] _Form1Closed)
  5. {
  6. bool Form1Opened;
  7. for (int i = 0; i < _Form1Opened.Length && i < _Form1Closed.Length; i++)
  8. {
  9. if (_Form1Opened == true && _Form1Closed == false)
  10. {
  11. Form1Opened = false;
  12. }
  13. }
  14. return Form1Opened;
  15. }

компилятор выдает ошибку что переменной Form1Opened не присвоено значение, а значит он думает что Form1Opened - локальная переменная условного оператора. На ++ такой проблемы бы не было
Вообще не понимаю как это исправить, область видимости надо определить? и как?
Мне не понятно почему компилятор считает что переменная Form1Opened в условном операторе является локальной, когда локальной её никто не делал. Мне надо чтоб сработал оператор Form1Opened = false; для переменной Form1Opened уровня переменной в функции
В ++ если не обьявлена локальная переменная, то можно работать с переменной уровня внутри функции из любого оператора, хоть из условного оператора, хоть из цикла
В # так нельзя чтоли? Если нельзя то как эти переменные использовать?
252
02 февраля 2015 года
koderAlex
1.4K / / 07.09.2005
вам всё правильно компилятор сказал .
Form1Opened - локальная переменная в функции :private bool _needInitOpenGL()
и её надо определить до строки :return Form1Opened;

сделайте объявление в виде :bool Form1Opened=true;
76K
02 февраля 2015 года
idgrasp
2 / / 17.04.2014
Цитата:
bool[] _Form1Opened=new bool[20]; //состояние закрытия Form1


Цитата:
Form1Opened = false;


У вас массив переменных. Вы не можете выполнить такую операцию присваивания.
А в 7 строке стоит инициализировать переменную значением по умолчанию, т.к. в случае не выполнения условия

Цитата:
if (_Form1Opened == true && _Form1Closed == false)

значение не определено.

252
02 февраля 2015 года
koderAlex
1.4K / / 07.09.2005
_Form1Opened - массив ,
а Form1Opened - нет .

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог