Я пытаюсь играть со списками и создавать список списков, содержащих целые числа. После я запускаю код этого thorws плохого исключения Alloc:std :: bad_alloc при объявлении списка C++
«aterminate вызывается после выбрасывания экземпляра„станд :: bad_alloc“ , что(): станд :: bad_alloc
Этого приложение просило Runtime чтобы прекратить его необычным способом. Для получения дополнительной информации обратитесь в службу поддержки приложения. "
#include <iostream>
#include <list>
#include <string>
int main() {
std::list<int> l{1,2,3,4};//
std::list<int> l1{5,6,7,8};
std::list<std::list<int>> ll;// list of lists<int>
std::cout << "a"; //does not reach here, terminated before this row
ll.push_back(l);
ll.push_back(l1);
std::list<std::list<int>>::iterator itr;
for (itr=ll.begin(); itr != ll.end(); itr++)
{
std::list<int>tl=*itr;
std::list<int>::iterator it;
for (it=tl.begin(); it != tl.end(); it++)
{
std::cout<<*it;
}
std::cout<<std::endl<<"End"<<std::endl;
}
return 0;
}
Я запускаю его в Clion на Windows 10 с minGW. Как я могу это исправить? все кажется правильным.
[Работы здесь] (http://coliru.stacked-crooked.com/a/e6eabec99e96e2e7) – NathanOliver
Это работает с Visual Studio 2015. –
Я подозреваю, что это связано с http://stackoverflow.com/questions/20621639/stdendl-crashes-windows-8-compiled-using-mingw или http://stackoverflow.com/questions/11975941/simple-program -crashes, где стандартная библиотека 'cout' /' endl' ha d некоторая несоответствие библиотеки ABI. –