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

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

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

MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах? - C++

19.06.2009, 14:44. Просмотров 1617. Ответов 10
Метки нет (Все метки)

Не хочу, чтобы выдавались конкретные варнинги, относящиеся к определённым областям заданных файлов.

Как это сделать.

Про "Warning Level" в насторйках студии я в курсе.

Но мне нужно подавить варнинг с конкретным номером (К примеру C4244). И только в определённых местах заданных файлов. В том числе в системных файлах библиотек компилятора.

Можно это как либо сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2009, 14:44     MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах?
Посмотрите здесь:

Дано предложение. Удалить из него все буквы "о", стоящие на нечётных местах C++
Вычеркнуть из слова все буквы "я",стоящие на честных местах C++
C++ Выбор компилятора из двух конкретных вариантов.
C++ DEV-C++ операторы ".", "::" как в VS
Сколько букв "У" в введенном слове стоит на четных местах? C++
Вычеркните из слова все буквы "я", стоящие на четных местах C++
Частое использование dynamic_cast в конкретных целях. Правильно ли? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
19.06.2009, 15:06     MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах? #2
#pragma warning?
Доктор ТуамОсес
Заблокирован
19.06.2009, 15:35  [ТС]     MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах? #3
Не понял. Это Вы написали что надо погуглить?

Добавлено через 11 минут 17 секунд
Ну т.е., к примеру, можно прямо указать компилятору:
"игнорить (не отображать) варнинг C4567 если он относится к строкам 24-26 и 430-467 в файле iostream"

Есть такие возможности в MS VC++ 6.0?
Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
19.06.2009, 16:53     MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах? #4
В порядке поступления вопросов - Да. Нет.
Доктор ТуамОсес
Заблокирован
20.06.2009, 11:43  [ТС]     MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах? #5
Это то, что надо погуглить?
Ответ найден.
Вот он:
C++
1
2
3
4
5
6
7
8
#pragma warning(push)
#pragma warning(disable:4700 4785)
//в этом регионе кода варнинги 4700 и 4785 отключены
....
#pragma warning(pop)
//восстановили исходное состояние варнингов 4700 и 4785
// (возможно они и до входа в наш участок были отключены)
// тогда их состояние после команды #pragma warning(pop) не изменится
Доктор ТуамОсес
Заблокирован
21.06.2009, 23:56  [ТС]     MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах? #6
Рано радовался
Почему в нижеприведённой программе не подавляется печать варнинга C4700?
А как его можно подавить?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std ;
 
int main ()
{
    int int_A , int_B ;
 
    #pragma warning ( disable: 4700 )   // warning C4700 должен быть подавлен
    
    int_A = int_B ;     // warning C4700: local variable 'int_B'
                // used without having been initialized
    cout << "main running " << endl ;
    return 0 ;
    
}
Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
22.06.2009, 00:07     MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах? #7
Доктор ТуамОсес,
Почему в нижеприведённой программе не подавляется печать варнинга C4700?
потому что так написано в msdn, который ты, очевидно, не читал.
Доктор ТуамОсес
Заблокирован
22.06.2009, 23:18  [ТС]     MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах? #8
Цитата Сообщение от Rififi Посмотреть сообщение
Доктор ТуамОсес,
Почему в нижеприведённой программе не подавляется печать варнинга C4700?
потому что так написано в msdn, который ты, очевидно, не читал.
Я понимаю, вопрос смешон для тех кто знает что это и как работает. А вот мне совсем не смешно.
Но Вы зря смеётесь.

Ведь люди, незнающие таких простых вещей как эта, могут быть далеко не дураками в какой-то другой области, в которой Вы "полный ноль".


Зачем засорять форум ответами в стиле "см. MSDN", "RTFM", "Учи матчасть", "у тебя в голове - каша", "Ну ты ламер", "Ну и вопросы тупые", "Читай книги" (как будто я их не читаю)?

Это сейчас для Вас эти вопросы кажутся такими простыми (и возможно даже идиотскими).

Но ведь было время когда и Вы были махровым ламером.

И новичку даже с книгой порой не просто разобраться "что к чему".
Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
23.06.2009, 00:39     MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах? #9
Доктор ТуамОсес,
Я понимаю, вопрос смешон для тех кто знает что это и как работает. А вот мне совсем не смешно.
Но Вы зря смеётесь.

У тебя явно какое-то недопонимание. На всякий случай поясню:
В первой части этого сложноподчинённого предложения содержится констатация факта, в придаточной части - предположение (близкое к истине).

Добавлено через 5 минут 1 секунду
А "засорять" форум ответами в стиле "см. MSDN", "RTFM" и пр. иногда имеет смысл согласно соответствующему параграфу прикреплённой (то есть всегда видимой) темы "Как правильно задавать вопросы" (с которой, судя по вопросу, ты также незнаком (((((((: )
Доктор ТуамОсес
Заблокирован
23.06.2009, 00:40  [ТС]     MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах? #10
Т.е. на вопрос по варнингам, я так полагаю, Вы отвечать не собираетесь?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2009, 00:43     MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах?
Еще ссылки по теме:

C++ Как заменить символ "*" на "??"
C++ Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а"
C++ Все символы строки, стоящие на четных местах, заменить на букву "ы"
Как с system("cls") очистить экран в определенных местах C++
В массиве найти количество "единиц", стоящих на четных местах C++

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

Или воспользуйтесь поиском по форуму:
Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
23.06.2009, 00:43     MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах? #11
Оттуда:

Часто тот, кто вам отвечает подобными фразами, имеет под рукой руководство или web-страницу с необходимой вам информацией, и смотрит на неё, когда набирает ответ. Эти ответы означают, что, по его мнению, во-первых, необходимую информацию легко найти и, во-вторых, вы большему научитесь при поиске информации, чем если вам её преподнесут под нос на тарелочке.
Явно составлялось людьми "в теме" :-D

Добавлено через 1 минуту 28 секунд
Ответ на "почему" - см. выше.
по поводу "как" - вынести прагму наверх.
Yandex
Объявления
23.06.2009, 00:43     MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах?
Ответ Создать тему
Опции темы

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