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

Что возвращать при делении на ноль? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести символ " http://www.cyberforum.ru/cpp-beginners/thread748925.html
Простите за глупый вопрос но как вывести "(кавычку) с помощью std::cout?
C++ list. Cоздать список из результатов(с массивами), а потом просмотреть весь список Подскажите пожалуйста как мне создать список из моих результатов(с массивами) а потом просмотреть весь список, вот код который имеется # include <iostream> # include <list> using namespace std; struct Number { int res; http://www.cyberforum.ru/cpp-beginners/thread748917.html
CRT_SECURE_NO_WARNINGS C++
This function or variable may be unsafe. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. Стоит ли реагировать на данное предупреждение? И как сделать в VS 10 так, чтобы не добавлять в каждом проекте библиотеку define? Заметил, что на некоторых VS Express 10 это предупреждение никогда не вылезает.. Спасибо
ошибка линковки C++
int main() { return 0; } делаю так: в MSVC++ создаю проект консоли, выбираю пустой проект, затем создаю файл кода с++, пишу эти строки и при линковке вылетает LINK : error LNK2001: неразрешенный внешний символ "_mainCRTStartup".
C++ Итераторы begin и end http://www.cyberforum.ru/cpp-beginners/thread748903.html
Привет всем! Возникла проблема с итераторами. Пишу класс, который содержит вектор векторов. Пишу итератор к этому классу. Не получается написать итераторы begin и end. Мне ведь нужно вернуть итератор на первый элемент, но это vector<int>::iterator, а нужно вернуть итератор своего класса. Подскажите, как решить проблему. Спасибо)
C++ табуляция функции. почему не работает код? #include <iostream> #include <cmath> #include <stdlib.h> #include <cstdio> using namespace std; float arctg(float x) { return arctg(1/x)-(x*x); подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
28.12.2012, 16:18  [ТС]     Что возвращать при делении на ноль?
Цитата Сообщение от BumerangSP Посмотреть сообщение
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
#include <iostream>
 
class ex
{
 public:
          ex();              
};
ex::ex()
{
    std::cout<<"Divide by zero"<<'\n';
}
int main()
{
     try 
      {
          int i = 3,b=0;
          if (i/b==0); 
             throw ex();
      }
     catch(ex)
     {
         std::cout<<"I`m closing..."<<'\n';
     }
     return 0;
}
Что это?

Добавлено через 1 минуту
Цитата Сообщение от HighPredator Посмотреть сообщение
Если же в общем случае неизвестно, какая из переменных может стать виновницей деления на ноль, тогда придется отлавливать непосредственно деление на ноль. При этом, важно помнить, что деление на ноль - структурное исключение, и его придется превращать в типизированное C++ исключение. Для этого нужно будет установить свой транслятор, в котором будет сгенерировано перехватываемое в дальнейшем исключение. Например:
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
#include <iostream>
#include <windows.h>
 
void testfunc()
{
    int x, y=0;
    x = 5 / y;
}
 
void translator_func(unsigned int u, EXCEPTION_POINTERS* pExp)
{
    std::cout<<"Some structured exception occurred."<<std::endl;
    throw std::exception("Division by zero");
}
 
int main()
{
    try
    {
        _set_se_translator(translator_func);
        testfunc();
    }
    catch(const std::exception& e)
    {
        std::cout<<"Caught exception - "<<std::endl<<e.what()<<std::endl;
    }
    return 0;
}
Компилировать с ключом /EHa.
Не понял. Я пишу оператор деления. Как он должен поступать при нулевом делителе?
 
Текущее время: 12:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru