Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501

Ошибка компиляции как положительный результат

09.08.2012, 19:45. Показов 3716. Ответов 20

Студворк — интернет-сервис помощи студентам
Товарищи, подскажите, пожалуйста, есть ли возможность средствами плюсов следить за ошибками компиляции?

Необходимо в процессе компиляции встретить некоторое выражение, удостовериться, что на нём произошла ошибка компиляции, и продолжить компиляцию дальше. При этом в итоге компиляция должна пройти успешно, то есть эта ожидаемая ошибка должна быть подавлена. Получается нечто вроде исключений, но для компиляции.

Если средствами плюсов такое сделать не получится (что вероятнее всего), то как можно попроще это реализовать внешними инструментами?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.08.2012, 19:45
Ответы с готовыми решениями:

Результат компиляции
Скажите, в какой язык компилируются современные программы написанные на с/с++? И какие языки понимает х86 пк? Как я подозреваю - ассемблер.

Ошибка при компиляции, как перевести?
В спойлере скрин - как перевести эту ошибку? Компилил с IDE CppDroid, она пропускалась, Dev-CPP в упор не пропускает дальше. Что кстати...

Intellij IDEA не отображает результат компиляции
Добрый вечер. Установил Intellij IDEA последней версии. Пишу свой первый код, Hello World Запускаю компиляцию, дает ответ, что...

20
 Аватар для Виктор_Сен
36 / 29 / 2
Регистрация: 01.08.2011
Сообщений: 176
21.03.2015, 12:59
Студворк — интернет-сервис помощи студентам
Автору вопроса это скорее всего уже не актуально. Но может кому-нибудь пригодится. Не могу утверждать, что достаточно хорошо разбираюсь в метафункциях, и что это решает вопрос, но мне интересно узнать мнение экспертов. Недавно столкнулся с такой проблемой. Нужно определить, существует ли шаблон с определёнными параметрами. То есть если записать шаблон с определёнными параметрами, корректна ли эта запись с точки зрения компилятора. И мне после долгих мучений удалось разрешить эту задачу. Я использовал следующие статьи с хабра:http://habrahabr.ru/post/205772/ http://habrahabr.ru/post/54762/ http://habrahabr.ru/post/206458/. Проверял в VS 2012, кстати, он не поддерживает "constexpr", но у меня всё нормально работало со "static const". Минимально возможный код по объёму для метафункции проверки корректности шаблона, который мне удалось получить:
C++
1
2
3
4
5
6
7
8
9
        template<typename T> struct _type_is_correct
        {
        private:
            static bool test_func(T t);
            static void test_func(...);
        public:
            static const bool value=
                std::is_same<bool,decltype(test_func(std::declval<T>()))>::value;
        };
Далее, это можно использовать как-то так:
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
29
template<typename T, typename E=void> class SomeClass;
template<typename T> class SomeClass<T,typename std::enable_if<std::is_integral<T>::value>::type>
{
 
};
 
int main()
{
    if (_type_is_correct<SomeClass<int>>::value)
    {
        std::cout<<"SomeClass<int> is correct"<<std::endl;
    } 
    else
    {
        std::cout<<"SomeClass<int> is not correct"<<std::endl;
    }
 
    if (_type_is_correct<SomeClass<float>>::value)
    {
        std::cout<<"SomeClass<float> is correct"<<std::endl;
    } 
    else
    {
        std::cout<<"SomeClass<float> is not correct"<<std::endl;
    }
 
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.03.2015, 12:59
Помогаю со студенческими работами здесь

Вывести результат компиляции в *.txt файл
у меня есть така матрица, надо вывести результат компиляции в *.txt файл #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include...

Результат компиляции промежуточного значения строки
Доброго дня форумчанам. Уж не знаю, как точнее назвать тему, потому, если кому-то не нравится - извольте. Заинтересовал вопрос, в...

Как включить поддержку C++11 в g++? Ошибка при компиляции
Добрый день, нужна помощь не пойму! При компиляции выдаёт note: C++11 ‘constexpr’ only available with -std=c++11 or -std=gnu++11 Я...

Антивирус Касперского считает зараженным результат компиляции
Здравствуйте. Второй раз уже сталкиваюсь с .. трояном? Скрин прилагается. &quot;Сейчас я Вам все там почистию&quot; - сказал Касперский. Ага. Не...

Каким будет результат компиляции и выполнения данного кода?
void main(void) { char alphabet ; int index; for (letter = &quot;A&quot;, index = 0; letter &lt;= &quot;Я&quot;; letter++, index++) alphabet = letter;...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru