簡體   English   中英

聲明列表時的std :: bad_alloc C ++

[英]std::bad_alloc on declaration of a list c++

我正在嘗試使用列表並創建包含整數的列表的列表。 在運行代碼后,它會解決一個錯誤的alloc異常:

“在拋出'std :: bad_alloc'what()實例之后調用的aterminate:std :: bad_alloc

該應用程序已請求運行時以一種異常方式終止它。 請與應用程序的支持團隊聯系以獲取更多信息。”

#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;
}

我正在使用minGW在Windows 10的Clion中運行它。 我怎樣才能解決這個問題? 一切似乎都正確。

我在Visual Studio 2015中編譯了您的代碼。您的代碼進行了編譯,沒有錯誤,輸出如下。

a1234

結束

5678

結束

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM