Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Доктор ТуамОсес
Заблокирован
#1

Почему нет варнинга на использование неиниц. переменной? - C++

18.06.2009, 15:43. Просмотров 620. Ответов 4
Метки нет (Все метки)

C++
1
2
3
4
5
6
    float  DD ;
float  WW ;
float * float_WW = &WW      ; // Берём адрес WW но при этом WW остаётся не инициализированной
        
cout << " DD == " << DD << endl ; // warning C4700: local variable 'DD' used without having been initialized
cout << " WW == " << WW << endl ; // Нет почему-то варнинга,  что переменная WW юзается без инициализации
Нет почему-то варнинга, что переменная WW юзается без инициализации
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2009, 15:43     Почему нет варнинга на использование неиниц. переменной?
Посмотрите здесь:

Ультиматум варнинга - C++
Добрый вечер, форум! Мужики, никто с таким ворнингом не сталкивался? Идея в том что бы вывести функцию часов в отдельный поток. Не пойму...

Использование приватной переменной - C++
#include&lt;iostream&gt; #define N 100 using namespace std; class Mass { private: int a,n; public: Mass() ...

Использование одной переменной - C++
У меня дано два оператора n1=dist*dist; n2=dist/dist; хочу использовать одну переменную n которая принимала бы два эти...

Использование неинициализированной переменной - C++
Товарищи! Столкнулся с таким феноменом: обычно если объявленную, но неинициализированную переменную попытаться подставить в арифметическое...

Использование в CPP переменной, описанной в H - C++
Подскажите, не могу сообразить что делаю не так. Решил перенести в свою библиотеку некоторые функции из своей программы. (Там для...

Использование файла в качестве переменной - C++
Проблема вот в чем: Я в классе получаю дату в виде ч\м\с\дд\мм\гг , но мне ее надо как то надо сделать строкой... Я вот придумал взять...

Использование неинициализированной локальной переменной - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using namespace std; ...

Использование переменной из другого файла - C++
У меня две формы. В первой присваивается переменной значение веденное пользователем, а во второй форме мне нужно использовать это значение....

Использование переменной с других файлов - C++
Привет всем! А как сделать так, чтобы переменную определенную в одном .cpp файле можно было бы использовать в остальных...

Использование static переменной через extern - C++
Есть форма, на ней две кнопки. Одна кнопка по нажатию добавляет элементы в класс-массив. Код первой клавиши: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
18.06.2009, 16:14     Почему нет варнинга на использование неиниц. переменной? #2
Выдача варнингов зависит от текущей настройки компилятора.
Например, GCC с опцией -Wall сразу же это фиксирует
Код
[serg@localhost C]$ g++ test.cpp -o test -Wall
test.cpp: In function ‘int main()’:
test.cpp:8: предупреждение: неиспользуемая переменная ‘float_WW’
test.cpp:10: предупреждение: ‘DD’ is used uninitialized in this function
Evg
Эксперт CАвтор FAQ
17470 / 5708 / 363
Регистрация: 30.03.2009
Сообщений: 15,677
Записей в блоге: 26
18.06.2009, 16:26     Почему нет варнинга на использование неиниц. переменной? #3
Ворнинга нет, потому что было взятие адреса, которое в общем случае означает, что по этому адресу могли и записать что-то. gcc ну уровнях без оптимизаций возможно и не отловит ситуацию, что по взятому указателю записей не было. Но на уровнях с оптимизациями может и отловит
Доктор ТуамОсес
Заблокирован
19.06.2009, 12:54  [ТС]     Почему нет варнинга на использование неиниц. переменной? #4
Цитата Сообщение от Gravity Посмотреть сообщение
Выдача варнингов зависит от текущей настройки компилятора.
Например, GCC с опцией -Wall сразу же это фиксирует
Код
[serg@localhost C]$ g++ test.cpp -o test -Wall
test.cpp: In function ‘int main()’:
test.cpp:8: предупреждение: неиспользуемая переменная ‘float_WW’
test.cpp:10: предупреждение: ‘DD’ is used uninitialized in this function
Не вижу. Где варнинг относительно переменной WW?

Добавлено через 19 часов 45 минут 5 секунд
Видать просто MS VC++ недостаточно продвинутый компилятор. Этот компилятор выдал варнинги в обоих случаях
Evg
Эксперт CАвтор FAQ
17470 / 5708 / 363
Регистрация: 30.03.2009
Сообщений: 15,677
Записей в блоге: 26
19.06.2009, 13:56     Почему нет варнинга на использование неиниц. переменной? #5
В 3-м посте я тебе уже объяснил. Компилятор, который "этот компилятор" - это gcc-4.1.2, который запускается с опциями оптимизаций
Yandex
Объявления
19.06.2009, 13:56     Почему нет варнинга на использование неиниц. переменной?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru