Code đúng mà chạy trên máy lại báo lỗi


Đây là code ở trên:

#include <iostream>
#include <map>
using namespace std;

int main ()
{
    map<string,int> mp = {
                { "alpha", 10 },
                { "beta", 20 },
                { "gamma", 30 } 
            };

    for (auto& x: mp) {
        std::cout << x.first << ": " << x.second << '\n';
    }
    return 0;
}

Mình chạy trên máy tính thì nó báo lỗi trong hình:

Bạn đã đọc kĩ dòng báo lỗi mà bạn đang chọn chưa?
[Error] In C++98 'mp' must be initialized by constructor, not by '{...}'
Bạn thử tìm hiểu bằng từ khóa sau nhé: cpp versions.

1 Like

Khởi tạo kiểu list phải có C++11:


Các bước này nên làm ngay sau khi cài đặt.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?