cpp/preprocessor/error — различия между версиями
Материал из cppreference.com
< cpp | preprocessor
(Translated from the English version using Google Translate) |
Olya (обсуждение | вклад) м |
||
(не показаны 10 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
− | + | {{title|}} | |
− | {{title| | + | |
{{cpp/preprocessor/navbar}} | {{cpp/preprocessor/navbar}} | ||
− | + | ||
+ | Показывает данное сообщение и |}} | ||
===Синтаксис=== | ===Синтаксис=== | ||
− | {{ | + | {{begin}} |
− | {{ | + | {{| {{ttb|#error}} {{ |
− | {{ | + | |}} }} |
+ | {{end}} | ||
===Объяснение=== | ===Объяснение=== | ||
− | + | После {{|#error}} {{|}} и (компиляция останавливается). | |
+ | |||
+ | | | ||
+ | |||
+ | {{|}} , | ||
+ | |||
+ | |||
+ | {{|}} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | () | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | }} | ||
− | {{ | + | |
+ | {{ | ||
+ | | .| . | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | }} | ||
− | === | + | ===также=== |
− | + | {{ | |
+ | {{| | }} | ||
+ | }} | ||
− | + | arcsdefritjaplptzh | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Текущая версия на 21:52, 9 июля 2023
Показывает данное сообщение об ошибке и делает программу некорректной или отображает заданное предупреждающее сообщение, не влияющее на правильность программы (начиная с C++23).
Содержание |
[править] Синтаксис
#error диагностическое-сообщение
|
(1) | ||||||||
#warning диагностическое-сообщение
|
(2) | (начиная с C++23) | |||||||
[править] Объяснение
1) После обнаружения директивы #error реализация отображает сообщение диагностическое-сообщение и делает программу некорректной (компиляция останавливается).
2) То же, что и (1), за исключением того, что корректность программы не затрагивается и компиляция продолжается.
диагностическое-сообщение может состоять из нескольких слов, не обязательно в кавычках.
[править] Примечание
До стандартизации в C++23 #warning предоставлялось многими компиляторами во всех режимах в качестве соответствующего расширения.
[править] Пример
Запустить этот код
#if __STDC_HOSTED__ != 1 # error "Не размещённая реализация" #endif #if __cplusplus >= 202302L # warning "Используйте #warning в качестве стандартной функции" #endif #include <iostream> int main() { std::cout << "Используемая реализация размещена\n"; }
Возможный вывод:
Используемая реализация размещена
[править] Ссылки
- C++23 стандарт (ISO/IEC 14882:2023):
- 15.8 Директива error [cpp.error]
- C++20 стандарт (ISO/IEC 14882:2020):
- 15.8 Директива error [cpp.error]
- C++17 стандарт (ISO/IEC 14882:2017):
- 19.5 Директива error [cpp.error]
- C++14 стандарт (ISO/IEC 14882:2014):
- 16.5 Директива error [cpp.error]
- C++11 стандарт (ISO/IEC 14882:2011):
- 16.5 Директива error [cpp.error]
- C++03 стандарт (ISO/IEC 14882:2003):
- 16.5 Директива error [cpp.error]
- C++98 стандарт (ISO/IEC 14882:1998):
- 16.5 Директива error [cpp.error]
[править] Смотрите также
Документация C по Директивы диагностики
|