Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Depozit
13 / 11 / 2
Регистрация: 07.11.2022
Сообщений: 139
1

Определение ошибочных данных на этапе компиляции

08.12.2022, 22:36. Показов 359. Ответов 3
Метки c++ (Все метки)

Author24 — интернет-сервис помощи студентам
возможно ли в C++ создавать свои ошибки?
чисто теоретически есть класс, в котором есть интовое значение часа, и по хорошему туда нельзя вводить >24.
могу ли не в консоли , а именно в компиляторе выводить ошибку, при передаче туда значения не подходящего под условия?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.12.2022, 22:36
Ответы с готовыми решениями:

Шаблоны и определение SSE типов на этапе компиляции
Добрый вечер. Задача следующая: для каждого базового типа даных int, float и double есть свой intrinsic SSE тип - __m128i, __m128 и...

Как добавить анонимный тип в объект не на этапе компиляции, а на этапе выполнения программы? Надо для routes.MapRoute
В приложении ASP.NET MVC у меня есть xml файл с маршрутами типа: <route url="Home/{par1}/{par2}" controller="Home"...

C++14: вычисления на этапе компиляции
Добрый день. Есть такой код:struct Qaz { constexpr Qaz(uint8_t index) : _index(index) {} private: uint8_t _index; ...

3
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12847 / 6714 / 1805
Регистрация: 18.10.2014
Сообщений: 17,012
08.12.2022, 23:11 2
Цитата Сообщение от Depozit Посмотреть сообщение
могу ли не в консоли , а именно в компиляторе выводить ошибку, при передаче туда значения не подходящего под условия?
Так передаваемое значение обычно не известно на стадии компиляции. Оно обычно становится известно только во время выполнения программы, когда уже никакого компилятора давно нет. Каким образом вы предлагаете "в компиляторе выводить ошибку"? Что вообще значит "в компиляторе"?
0
 Аватар для Kuzia domovenok
4264 / 3323 / 925
Регистрация: 25.03.2012
Сообщений: 12,521
Записей в блоге: 1
08.12.2022, 23:14 3
вы почему-то компилятор с интерпретатором путаете.
0
 Аватар для SmallEvil
3769 / 2697 / 762
Регистрация: 29.06.2020
Сообщений: 9,922
08.12.2022, 23:35 4
Лучший ответ Сообщение было отмечено Depozit как решение

Решение

Depozit, если ваш класс оперирует данным на этапе компиляции, то для этого есть static_assert.
C++
1
2
3
4
5
int main(){
    // constexpr const int my_val = 23; // ok
    constexpr const int my_val = 24; // static_assert
    static_assert( (my_val >= 0 && my_val < 24) , "my_val out of range"); // допустимые значения [0, 24)
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.12.2022, 23:35
Помогаю со студенческими работами здесь

Ошибка на этапе компиляции
Добрый вечер. Ребят помогите, не могу понять в чем дело. Есть программа в которой описан 1 класс (работа с пользователями) Всё...

Ошибка на этапе компиляции
в чём может быть проблема?

Чтение файла на этапе компиляции
Можно ли считать файл настроек на этапе компиляции? Нужно что бы выбросить код который в рантайме не понадобится (в зависимости от...

Загрузка изображений на этапе компиляции
Нужно загрузить на этапе компиляции 15 изображений. Делаю это так: var Img1:Class; var img1:BitmapAsset = new Img1(); ...

Несистематическая ошибка на этапе компиляции
#pragma hdrstop #pragma argsused #include &lt;iostream.h&gt; void main() { double a; int index,i_max,i_min; double...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Концепция variadic
CoderHuligan 04.03.2025
Мне не очень нравится (а кому это нравится?) что у нас есть отдельно компилятор, отдельно линковщик, причем со своим собственным командным языком. При этом усложнении надо знать помимо языка. . .
Java Record или Kotlin Data Class: что лучше для неизменяемых данных
Wired 04.03.2025
Java Record и Kotlin Data Class — два мощных инструмента для обуздания неизменяемых структур данных, каждый со своим уникальным подходом к решению этой задачи. История их появления весьма. . .
Создание производительны­­х API с Java и gRPC
Wired 04.03.2025
В разработке производительность и масштабируемость микросервисных приложений играют ключевую роль. Традиционные REST API, несмотря на свою популярность и простоту, не всегда способны обеспечить. . .
Что нового в JDK 24
Wired 04.03.2025
JDK 24 знаменует собой значительный скачок в развитии Java, внося фундаментальные улучшения в производительность, безопасность и удобство разработки. Релиз включает множество революционых изменений,. . .
Разработка блокчейн с использованием Java: смарт-контракты и dApp
Wired 04.03.2025
Современная блокчейн-разработка на Java предоставляет разработчикам широкий спектр возможностей. В отличие от Solidity, который ограничен экосистемой Ethereum, Java позволяет создавать как. . .
WebAssembly в Kubernetes
stackOverflow 03.03.2025
В современной экосистеме облачных технологий WebAssembly (Wasm) становится все более значимым компонентом, предлагая уникальный подход к выполнению кода в распределенных системах. Эта технология. . .
GitHub Actions или Jenkins: Выбираем CI/CD платформу
stackOverflow 03.03.2025
Непрерывная интеграция и развертывание (CI/ CD) изменили подход к разработке программного обеспечения, превратив его в бесшовный процесс от написания кода до развертывания в продакшн. GitHub Actions и. . .
Автоматизация тестирования Pull Request в Kubernetes: Интеграция с GitHub Actions и GKE
stackOverflow 03.03.2025
Масштабные проекты с использованием Kubernetes требуют надежной системы тестирования изменений перед их внедрением в продакшн-среду. Традиционный подход с ручной проверкой Pull Request не справляется. . .
Tестирование Pull Request в Kubernetes с помощью vCluster
stackOverflow 03.03.2025
При работе с микросервисной архитектурой критически важно обеспечить качественное тестирование каждого изменения перед его слиянием в основную кодовую базу. Однако тестирование Pull Request в. . .
Использование пакета Context в Golang
bytestream 03.03.2025
Управление параллельными процессами в современных приложениях - сложная задача, особенно когда речь идет о микросервисной архитектуре и распределенных системах. Пакет context в Go - это гибкое. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru