Задать вопрос

Почему выкидывает ошибку Throw_bad_array_new_lenghtv?

Есть вот такой хеадер:
#include <string>
#include <vector>
#include <map>


class Init {
public:
    Init();

private:
    struct Structure {
        std::vector<std::string> something;
    };

    Structure m_structure;

    std::map<std::string, std::vector<std::string>> m_map = {
            {"Something",  m_structure.something},
    };
};

Файл, условно реализующий конструктор
#include "Init.h"
#include <iostream>


Init::Init() {
    std::cout << "Init constructor";
}

И main-функция, вызывающая создание объекта
#include <iostream>
#include "Init/Init.h"


int main() {
    Init();

    std::cout << "End of main";
    return 0;
}


Собирается все это дело нормально, но вот проблема - при запуске из ide-шки оно работает адекватно (Использую CLion, система сборки - CMake, система - винда, никаких дополнительных аргументов нет) , но при попытке запустить его из консоли - выкидывает вот такую штуку

63a966efc91b3130117214.png

Исходя из сообщения, я попробовал добавить флаг -static, но никакого результата это не дало.
Инициализация переменных из конструктора также не работает, насколько я смог понять - дело в map'e, которую, кажется, я неправильно создаю...
  • Вопрос задан
  • 60 просмотров
Подписаться 1 Простой 9 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы