Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760

[c++, msvc] #pragma suppress warning

04.05.2015, 22:39. Показов 1420. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.

Вижал студия 2013.

Рассмотрим код:

http://rextester.com/FCO39975

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//Title of this code
//Compiler Version 18.00.21005.1 for x86
 
#include <iostream>
 
int main()
{
    std::cout << "Hello, world!\n";
    
    #pragma warning(push)
    #pragma warning(disable: 4101)
    
    int val_1;
    int val_2;
    int val_3;
        
    std::cout<<"--------------\n";
    
    #pragma warning(pop)
    
    //source_file.cpp(15) : warning C4101: 'val_3' : unreferenced local variable
    //source_file.cpp(13) : warning C4101: 'val_1' : unreferenced local variable
    //source_file.cpp(14) : warning C4101: 'val_2' : unreferenced local variable
    
    // если закомментировать #pragma warning(pop), 
    // предупреждение пропадет
    
}
Вопрос: почему, предупреждение не подавляется,
если в коде фигурирует #pragma warning(pop) ?

Добавлено через 2 минуты
вот так все прекрасно подавилось:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
#pragma warning(push)
#pragma warning(disable: 4101)
int main()
{
    std::cout << "Hello, world!\n";
    
    
    
    int val_1;
    int val_2;
    int val_3;
        
    std::cout<<"--------------\n";
}
#pragma warning(pop)
видимо, что-то связанное с областью действия прагм...

Добавлено через 8 минут
не подавилось...


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
    std::cout << "Hello, world!\n";
    
 
    #pragma warning(push)
    #pragma warning(disable: 4101)
    {
        int val_1;
        int val_2;
        int val_3;
    }
        
    std::cout<<"--------------\n";
    #pragma warning(pop)
    
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.05.2015, 22:39
Ответы с готовыми решениями:

О #pragma warning(disable: 4786)
Вот создаю пустое приложение Win32 Console Application. Добавляю к примеру файл ex.cpp со следующим содержанием: #include &lt;string&gt; ...

Отключение предупреждений без "pragma warning"
есть ли альтернативная функция или команда для # pragma warning(disable:....); которая отключает предупреждения

Почему в MSVC++ 2008 компилируется, а в MSVC++ 2010 вылезает много ошибок?
Кстати, перед запуском в 2010 предлагает конвертировать код. Ну а чем эти две студии отличаются, что вызывает большое количество ошибок?

1
46 / 31 / 12
Регистрация: 21.04.2015
Сообщений: 82
05.05.2015, 16:14
http://stackoverflow.com/a/29530960/4569791

Some warnings are 'function scope' and cannot be suppressed by using #pragma warning(suppress: 4101). They also, as you have noted, cannot be disabled by just doing it around the specific line. You must disable this warning for the whole function:

C++
1
2
3
4
5
6
#pragma warning(push)
#pragma warning(disable: 4101)
int main() {
    int i;
}
#pragma warning(pop)
Note also that for warnings that are specific to a line rather than a scope, the use of #pragma warning(suppress: xxx) is specific to the next actual line in the file.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.05.2015, 16:14
Помогаю со студенческими работами здесь

Переход от MSVC 2017 к MSVC 2019
Добрый день, До сих пор я использовал MSVC 2017 x64, но планирую перейти на компилятор MSVC 2019 x64 в связи с тем, что 2017 не...

Ошибка (#pragma warning disable 1591)
Есть класс BaseElement создал прослойку DBML,появилась такая ошибка #pragma warning disable 1591 тут DataClasses1.designer.cs ...

Warning: stat failed For up.php (errno=2 - No such File Or directory) Warning: Undefined variable: part in
При выполнении скрипта у меня постоянно выдаются сообщения типа: Warning: Undefined index: Warning: stat failed For up.php (errno=2 -...

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in Z:\home\1x.loc\www\login.php on line 33 Warning
&lt;!doctype html&gt; &lt;html lang=&quot;en&quot;&gt; &lt;head&gt; &lt;meta charset=&quot;UTF-8&quot;&gt; &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width,...

Warning C4101 и warning C4996
Здравствуйте, пишу программу &quot;Домашняя видеотека&quot;, в которой необходимо реализовать запить информации про фильм и поиск по жанру, и что бы...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru