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

Инициализация static map - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Построение матрицы смежности http://www.cyberforum.ru/cpp-beginners/thread1142452.html
Задаем поле с единицами и нулями (где 1-пустая клетка, 0-препятствие) #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv) { setlocale(LC_ALL, "Russian");
C++ Вывести конкретный элемент массива Есть 2-х мерный массив (это я написал, код ниже), подскажите как вывести i-й элемент n-й строчки m-го столбика? #include <iostream> #include <time.h> #include <iomanip> using namespace std; void main () { setlocale (LC_ALL, "RUS"); srand (time (NULL)); http://www.cyberforum.ru/cpp-beginners/thread1142446.html
Посчитать произведение отрицательных элементов матрицы, расположенных выше главной диагонали C++
В матрице размером 8 на 8 определить номера минимальных элементов в каждой второй строке. Посчитать произведение отрицательных элементов, расположенных выше главной диагонали. В каждом втором столбце заменить отрицательные элементы нулями.
C++ Обратная геодезическая задача.(методы оптимизации)
В общем нужно запрогать задачу, с точки зрения методов оптимизации. Условие. Найти геодезические линии сферы радиуса r. Геодезические линии — это линии наименьшей длины, соединяющие две заданные точки поверхности и проходящие только по поверхности. Примечание: Задачу гораздо удобнее решать в сферических координатах. Затем можно произвести параметризацию по t. Копание в глубь дало,...
C++ В какой половине строки больше букв "а"? http://www.cyberforum.ru/cpp-beginners/thread1142421.html
Помогите разобраться. Заданную строку символов произвольно разделить на две части и определить в какой из них количество букв «a» больше. (Деление строки задается случайным числом, что зависит от длины строки).
C++ Ошибка: не определены переменные класса Здравствуйте. Есть класс, он содержит 3 private переменных и функцию, работающую с ними. При компиляции появляется ошибка, что не определены эти 3 переменные. Ниже прикладываю код, подскажите, в чем ошибка? #ifndef DEMODULATOR_H_ #define DEMODULATOR_H_ #include <iostream> #include "IntMath/Complex.h" class Demodulator { public: Demodulator(double, int, int); подробнее

Показать сообщение отдельно
unkarjedy
3 / 3 / 0
Регистрация: 13.03.2011
Сообщений: 114
08.04.2014, 15:47     Инициализация static map
Есть модуль, отвечающий за выдачу Сообщения ошибки по коду ошибки.
Пока использую просто в тупую статический map прям в коде. Потом сделаю уже базу...

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
30
31
32
#include "ErrorCodes.h"
#include <map>
using namespace std;
 
static map<ERROR_CODE, string> em;
static bool isEmItialized = false;
static void InitErrorMessages();
 
string GetErrorMessage(ERROR_CODE rc) {
    if(!isEmItialized) {
        InitErrorMessages();
        isEmItialized = true;
    }
 
    map<ERROR_CODE, string>::iterator it;
    it = em.find(rc);
    if(it != em.end()) {
        return it->second;
    } else {
        return string("Unknown error!");
    }
}
 
static void InitErrorMessages() {
    em[OK]                      = "No erro";
    em[PARSING_ERROR]           = "Expression parsing error";
    em[FUNCTION_NOT_FOUND]      = "Solving function was not found";
    em[UNKNOWN_PROBLEM]         = "Unknown problem type";
    em[WRONG_FUNC]              = "Wrong function";
    em[NO_SOLUTION]             = "No solution";
    em[NOT_ALL_CONDITIONS_IN_ODE] = "The task is not completed. Not all conditions are specified";
}
Когда программа входит в инициализацию em карты, то на первой же строчке всё крашится... ничего не пишется.
Я, вообще, корректно использую и инициализирую map тут?

Если подробнее крашится где-то внутри карты на строке
C++
1
2
3
4
5
_Self&
      operator--()
      {
    _M_node = _Rb_tree_decrement(_M_node);
         ...
ERROR_CODE просто перечисление...

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