Поиск:

Ответ в темуСоздание новой темы Создание опроса
> cout,cin 
:(
    Опции темы
chwind
Дата 21.2.2006, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 15.2.2006

Репутация: 1
Всего: 1



это варнинг есть smile
W8013 Possible use of 'identifier' before definition Compiler warning
PM MAIL   Вверх
DeadMan83
Дата 21.2.2006, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 17.2.2006
Где: Минск

Репутация: нет
Всего: нет



Цитата(_hunter @ 21.2.2006, 17:56 Найти цитируемый пост)
следующая _команда_ это int a

int a - это не команда (попробуй поставить брейкпоинт, посмотреть в режиме дизасма.
а вот int a= 1; - уже команда.
Цитата(_hunter @ 21.2.2006, 17:56 Найти цитируемый пост)
это варниг ты можеш ( и должен ) сам реализовать...

согласен что вызов cin>>ch сложно анализировать и VC ксатит ту варнинг не выводит. но вот попробуй такой код

Код

int _tmain(int argc, _TCHAR* argv[])
{
    char *ch;
    a = (int)ch;
    std::cin>>ch;
    std::cout<<ch;
    return 0;
}

и варнинг тут как тут
Цитата

d:\progs\vistestbug\vistestbug.cpp(11) : warning C4700: local variable 'ch' used without having been initialized

PM MAIL WWW ICQ Skype GTalk   Вверх
Vyacheslav
Дата 21.2.2006, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



Стандарт не требует инициализировать указатели с помощью Null или с помощью чего либо еще. Так что виноваты руки, а не компилятор.
Borland здесь ничего не нарушает




--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Fin
Дата 21.2.2006, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: нет
Всего: 10



Цитата(DeadMan83 @ 21.2.2006, 16:42 Найти цитируемый пост)
имелось виду выдавать варнинг при обращении к переменной (получения ее значения) ДО ее инициализации.

Единственное как я вижу этот варнинг, это только на стадии компиляции. Да и то, оно им надо (разработчикам).
Пример:
Код

int i;
int a=i;

Тут в принципе неизвестно что будет. И отследить данный трюк компилятору очень сложно. С ссылками намного проше, если программа пытается лезть в запрешенную зону, тут же синий экран смерти проги.

Это сообщение отредактировал(а) Fin - 21.2.2006, 18:09


--------------------
Пролетал мимо.
PM MAIL   Вверх
chwind
Дата 21.2.2006, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 15.2.2006

Репутация: 1
Всего: 1



Fin, зайди в настройки проекта и включи соответствующий варнинг (W8013) после чего компилятор билдера (да и VC тоже) легко smile будет отлавливать подобные обращениия с переменными
PM MAIL   Вверх
DeadMan83
Дата 21.2.2006, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 17.2.2006
Где: Минск

Репутация: нет
Всего: нет



Цитата(Fin @ 21.2.2006, 18:08 Найти цитируемый пост)
Пример:

Код
Код

int i
int a=i;


Тут в принципе неизвестно что будет. И отследить данный трюк компилятору очень сложно. С ссылками намного проше, если программа пытается лезть в запрешенную зону, тут же синий экран смерти проги

сложно но можно. VC (как оказалось и Builder) отслеживает и варнинг выдает.

Цитата(Fin @ 21.2.2006, 18:08 Найти цитируемый пост)
Единственное как я вижу этот варнинг, это только на стадии компиляции. Да и то, оно им надо (разработчикам)

а зачем тогда вообще варнинги??? по мне так чтоб предупредить программиста, что возможно в коде ошибка.

Это сообщение отредактировал(а) DeadMan83 - 21.2.2006, 18:15
PM MAIL WWW ICQ Skype GTalk   Вверх
Fin
Дата 21.2.2006, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: нет
Всего: 10



Я привел пример в лоб. Если пустить кучу ветвлений (switch), то или Вы компилятор, или компилятор Вас.


--------------------
Пролетал мимо.
PM MAIL   Вверх
Vassik
Дата 21.2.2006, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 31.1.2006

Репутация: нет
Всего: нет



Всем спасибо и со всей критикой согласен, только вот то что в одном случае все зашибись, а в другом ошибка, все таки я думаю на совесте компилятора
PM MAIL   Вверх
Romikgy
Дата 22.2.2006, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



Цитата(DeadMan83 @ 21.2.2006, 16:24 Найти цитируемый пост)
интересно как выделять char динамически не зная какая будет длина строки?

Читай по одному символу и каждый раз увеличивай динамический массив

Цитата(DeadMan83 @ 21.2.2006, 16:42 Найти цитируемый пост)
не лучше ли воспользоваться тем что уже написано и оттестировано, STL например;)

STL не является стандартом С++, если я не прав пусть гуру поправят


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
_hunter
Дата 22.2.2006, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



стандартом -- нет, стандартной библиотекой -- да


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Romikgy
Дата 22.2.2006, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



Цитата(_hunter @ 22.2.2006, 10:23 Найти цитируемый пост)
стандартом -- нет, стандартной библиотекой -- да

smile Отож smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Vyacheslav
Дата 22.2.2006, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



Требования к STL описаны в стандарте языка в главе 17 и она обзывается там как С++ Standard Library и следовательно входит в стандарт


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0707 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.