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

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

Войти
Регистрация
Восстановить пароль
 
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
#1

Что такое __pragma(warning()) ? - C++

11.07.2015, 19:04. Просмотров 260. Ответов 4
Метки нет (Все метки)

Вот код макроса:
C++
1
2
3
#define PTM_WARNING_DISABLE \
    __pragma(warning( push )) \
    __pragma(warning( disable : 4867 ))
Что эти функции делают? И что это за функция __pragma? От ее определение нельзя посмотреть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2015, 19:04     Что такое __pragma(warning()) ?
Посмотрите здесь:

что такое матрица? C++
Что такое NULL ? C++
Что такое void? C++
C++ Что такое int*a ?
C++ что такое КУЧА?
что такое флаги? C++
C++ Что означает этот warning?
Что такое магазин? C++
C++ Что делать с warning : CA2122 : Microsoft.Security ?
C++ Warning C4101 и warning C4996
C++ Что такое конкатенация
C++ Что такое чистый С++?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
6852 / 4063 / 927
Регистрация: 30.01.2014
Сообщений: 6,859
11.07.2015, 19:10     Что такое __pragma(warning()) ? #2
Цитата Сообщение от ninja2 Посмотреть сообщение
И что это за функция __pragma?
Это не функция, а директива препроцессора.
https://msdn.microsoft.com/ru-ru/library/2c8f766e.aspx
http://habrahabr.ru/company/abbyy/blog/136909/
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
12.07.2015, 09:10  [ТС]     Что такое __pragma(warning()) ? #3
Цитата Сообщение от DrOffset Посмотреть сообщение
Это не функция, а директива препроцессора.
А директивы препроцессора это функции с двумя подчеркиваниями впереди?
0x10
2456 / 1628 / 238
Регистрация: 24.11.2012
Сообщений: 4,003
12.07.2015, 09:21     Что такое __pragma(warning()) ? #4
Цитата Сообщение от ninja2 Посмотреть сообщение
А директивы препроцессора это функции с двумя подчеркиваниями впереди?
Директива — не функция, как уже было сказано выше.
В данном случае __pragma — ключевое слово, специфичное для майкрософтовского компилятора. Введено для того, чтобы можно было подставлять директивы препроцессора с помощью макросов.
https://msdn.microsoft.com/en-US/en-.../d9x1s805.aspx
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
12.07.2015, 09:28  [ТС]     Что такое __pragma(warning()) ? #5
В общем этот worning используется для заглушки вывода ошибок, можно от так использовать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using std::cout;
 
__pragma(warning( disable : 4172 ))
__pragma(warning( disable : 4101 ))
 
int& f()
{
    int x;//C4101
    int y(10);
    return y;//C4172
}
 
int main()
{
    cout <<f()<<"\n";
 
    return 0;
}
и не будут выводится предупреждения
Yandex
Объявления
12.07.2015, 09:28     Что такое __pragma(warning()) ?
Ответ Создать тему
Опции темы

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