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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Требуется написать программу для перевода чисел из 2-ой в 16-ую СС http://www.cyberforum.ru/cpp-beginners/thread1194564.html
Исходный текстовый файл содержит числа в двоичной системе счисления, отделенные друг от друга хотя бы одним пробелом. Требуется составить программу, которая под каждым двоичным числом в файле указывает его значение в шестнадцатеричной системе счисления.Например, 1101010111110 1000111111 0 0111100. (требуется не менее 3-х процедур)
C++ Составить алгоритм, подсчитывающий для заданного текста количество вхождений каждой буквы русского алфавита Составить алгоритм, подсчитывающий для заданного текста количество вхождений каждой буквы русского алфавита. Help. На языке СИ, пожалуйста, без всяких stirng, cout, strlen и прочее. Не могу доделать. #include<stdio.h> #include<conio.h> int main() {clrscr(); char s; int i,n,k=0; printf("vvedite stroky\n"); gets(s); http://www.cyberforum.ru/cpp-beginners/thread1194547.html
C++ многофайловая сруктура программы
есть многофайловая программа, вычисляющая определенный интеграл разными методами, нужно сделать: 1. что бы после подсчета интеграла программа не сразу прекращала свое выполнение, а предлагала либо закрыть либо выбрать заново метод 2. после подсчета интеграла для каждого из методов предлагала выбрать количество разбиений n заново, или перейти к следующему действию листинг главной...
Определить структуру данных, поддерживающую функции добавления, удаления и вывода элементов C++
Помогите написать код: Определить динамическую структуру данных – отсортированный однонаправленный список, поддерживающую функции добавления элемента, удаления элемента из списка, вывода списка на экран. Даже не знаю как начать
C++ Поиск слова http://www.cyberforum.ru/cpp-beginners/thread1194505.html
Вобщем пользователь вводит слово, количество строк, потом текст признаком оканчания вода текста являет то что или должны кончиться строки или в строке найдешь заданое в начале слово я написал тока через ф-ции strstr но она немного не то, помогите чем сможете #include "StdAfx.h" #include <iostream> #include <conio.h> #include <stdio.h> using std::cout; using std::cin;
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
31.05.2014, 15:36     Почему нужно noexcept?
Здравствуйте.
Сразу код :
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) не имеет конструктора по умолчанию)

Помогите разобраться, плз.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru