Форум программистов, компьютерный форум, киберфорум
Наши страницы

Почему нужно noexcept? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Требуется написать программу для перевода чисел из 2-ой в 16-ую СС http://www.cyberforum.ru/cpp-beginners/thread1194564.html
Исходный текстовый файл содержит числа в двоичной системе счисления, отделенные друг от друга хотя бы одним пробелом. Требуется составить программу, которая под каждым двоичным числом в файле...
C++ Составить алгоритм, подсчитывающий для заданного текста количество вхождений каждой буквы русского алфавита Составить алгоритм, подсчитывающий для заданного текста количество вхождений каждой буквы русского алфавита. Help. На языке СИ, пожалуйста, без всяких stirng, cout, strlen и прочее. Не могу... http://www.cyberforum.ru/cpp-beginners/thread1194547.html
C++ многофайловая сруктура программы
есть многофайловая программа, вычисляющая определенный интеграл разными методами, нужно сделать: 1. что бы после подсчета интеграла программа не сразу прекращала свое выполнение, а предлагала либо...
Определить структуру данных, поддерживающую функции добавления, удаления и вывода элементов C++
Помогите написать код: Определить динамическую структуру данных – отсортированный однонаправленный список, поддерживающую функции добавления элемента, удаления элемента из списка, вывода списка на...
C++ Поиск слова http://www.cyberforum.ru/cpp-beginners/thread1194505.html
Вобщем пользователь вводит слово, количество строк, потом текст признаком оканчания вода текста являет то что или должны кончиться строки или в строке найдешь заданое в начале слово я написал тока...
C++ Точки останова вечно вылезают #include "stdafx.h" #include <iostream> #include <cstdlib> #include <cmath> #include <clocale> using namespace std; class Array подробнее

Показать сообщение отдельно
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245

Почему нужно noexcept? - C++

31.05.2014, 15:36. Просмотров 2011. Ответов 5
Метки (Все метки)

Здравствуйте.
Сразу код :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class logic_error_ext : public std::exception
{
private:
    std::string mesg;
    bool type; //if 0 - error in hmean(), 1 - in gmean()
public:
 
    explicit logic_error_ext(std::string m, bool t) : mesg(m), type(t)
    {
    }
 
    const char* what() const noexcept
    {
        return mesg.c_str();
    }
 
    bool Type() const
    {
        return type;
    }
};
Три вопроса?
1 - Почему без noexcept в c++98 не компилируется?
Кликните здесь для просмотра всего текста
main.cpp:19:17: error: exception specification of overriding function is more lax than base version
const char* what() const
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/exception:68:25: note: overridden virtual function is here
virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
^
main.cpp:8:7: error: exception specification of overriding function is more lax than base version
class logic_error_ext : public std::exception
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/exception:64:13: note: overridden virtual function is here
virtual ~exception() _GLIBCXX_USE_NOEXCEPT;
^
2 errors generated.

2 - Как следствие первого: почему в c++11 скомпилировать этот кусочек кода можно только с noexcept ?
3 - Почему не могу наследовать std::logic_error (компилятор говорит, мол, он(logic_error) не имеет конструктора по умолчанию)

Помогите разобраться, плз.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru