warning: 'i' may be used uninitialized in this function
- Войдите на сайт для отправки комментариев
Вс, 23/12/2018 - 13:38
в строке 8 if (i<15)buf[i++] = a; получаю сообщение, обозначенное в заголовка темы.
Не понимаю, почему "и" может быть не инициализирована?
char buf[16]; char command, a; int i; while( Serial.available()) { delay(30); a = Serial.read(); if (i<15)buf[i++] = a; if (a == '\n' || a == '\0'){ command = buf[0]; }
Потому что оно нигде и не инициализированно. Вот в 8й строчке i сравнивается с 15, а чему i при этом равно?
а если при объявлении ни чего не присвоить, она не будет равна нулю?
Если не присвоить, то можеи быть все что угодно. Может быть и 0 но никакой гарантии.
Просто в дагонку, ещё одно сообщение, давно убрать не могу. Может кто знает что это?
а если при объявлении ни чего не присвоить, она не будет равна нулю?
Я обращаю особое внимание на дату регистрации.
Ты, родное сердце, совсем себя не бережешь! Не стоит так голову перегружать. ;))))))) Может ну её, ардуину эту?
==================
насчет build.board, думаю, что ни слова не поймешь, но напишу, ...а вдруг?
В файле boards.txt для некой платы не определен параметр build.board.
Делается это добавлением строки вида:
uno.build.board=AVR_UNO
вместо "uno" - название платы.
Сообщение стало появляться после того, как я подключил STM32. Перед установкой делал резервное копирование файла boards.txt, но сообщение так и не убралось, даже после восстановления старого файла. Если умный, подскажи, что вместо уно прописать. Я в файлы настроек стараюсь не лазить, потому и не расбирался, что к чему.
Если умный, подскажи
;)))) нет, не настолько же!!! Ты сам видишь, как твое сообщение об ощибке выглядит на форуме? С обрывками от какого-то html-ля.
Ставишь "подробный вывод", копируешь сообщение об ошибке, без мусора. Там можно будет увидеть в каком разделе нет нужной опции.
И да, это не ошибка и ни на что не влияет. "Чинить" можно разьве что из
эстетических соображений.
-----------
пока что твои запросы полностью соответствуют аватару ;))). Редкая гармония! Респект!
Сообщение целиком.
Больше красных сообщений нет. Всего одна строка, ни откуда не вырвана. Это не ошибка, а сообщение, и точно не начто не влияет, только глаз мазолит красным.
Мля!!! Специально сделал у себя такую же ошибку (предупреждение). Посмотри на мое сообще и на свое.
Я спросил, откуда в твоем сообщении обрывки html??????? У тебя со зрением проблемы или и правда с головой????
Вот ЧТО у тебя написано там, где у меня atmega328bb ???????
:) Доперло, вот точно так-же как и у тебя со зрением.Текст просто копирую, вот и посмотри что у меня там написано. Я потому и разобраться не могу.
Может файл boards прислать, что понятнее будет.
Если не присвоить, то можеи быть все что угодно. Может быть и 0 но никакой гарантии.
В данном случае нет. Статика всегда инициализируется нулями - это не прихоть компилятора, а стандарт языка.
а если при объявлении ни чего не присвоить, она не будет равна нулю?
Будет.
Только если бы Вы не качали права перед компилятором, а написали бы вместо "
int
i;
" вот так "int
i = 0;
" проблемы бы никакой не было, и не надо было бы на форум постить.Так трудно нолик дописать?
Ваще, объявлять глобальную переменную с именем i - одна из самых (если не самая) плохих идей. Случайно засрать её - как два пальца, а потом опять "памагити!!!".
Да, сразу после первого топика и дописал. Просто раньше при инициализации, если переменная равна нулю - оперцию присвоение не делал, и на сообщения не мешающие компиляции не смотрел, а сегодня глянул. :)
Переменная i объявлена в нутри функции.
Переменная i объявлена в нутри функции.
Из начального топика это никак не следовало. А если так, то это было совсем плохо, ибо она вообще неизвестно чему было равна (а вовсе никакоиу не нулю) - см. #1
на сообщения не мешающие компиляции не смотрел
Это очень, очень, ну просто очень большая глупость. Всегда смотрите! Люди Вам помогают ошибок избежать, а Вы плюёте на это.
Да, сразу после первого топика и дописал. Просто раньше при инициализации, если переменная равна нулю - оперцию присвоение не делал, и на сообщения не мешающие компиляции не смотрел, а сегодня глянул. :)
Переменная i объявлена в нутри функции.