Không dùng được map

Mọi người cho em hỏi về lỗi này ạ

#include <bits/stdc++.h>

using namespace std;

int main() {
    int n; cin >> n;
    int x;
    map<int, int> mp;
    for (int i = 1; i <= n; i++) {
        cin >> x;
        mp[x]++;
    }
    for (auto it : mp) {
        cout << it.first << " " << it.second << "\n";
    }
    
}

Chuyện là em dùng lệnh for (auto it:mp) bênh codeblock thì bình thường mà em chuyển sang visual studio code thì nó báo dòng như thế này

Errors while compiling:
e:\VSCode_Project\Debug\Test.cpp: In function 'int main()':
e:\VSCode_Project\Debug\Test.cpp:13:15: error: 'it' does not name a type
     for (auto it : mp) {
               ^
e:\VSCode_Project\Debug\Test.cpp:17:1: error: expected ';' before '}' token
 }
 ^
e:\VSCode_Project\Debug\Test.cpp:17:1: error: expected primary-expression before '}' token
e:\VSCode_Project\Debug\Test.cpp:17:1: error: expected ';' before '}' token
e:\VSCode_Project\Debug\Test.cpp:17:1: error: expected primary-expression before '}' token
e:\VSCode_Project\Debug\Test.cpp:17:1: error: expected ')' before '}' token
e:\VSCode_Project\Debug\Test.cpp:17:1: error: expected primary-expression before '}' token

Mọi người giúp em với ạ

range-based for loop kia là tính năng của C++11 em thêm lệnh compile bằng chuẩn C++11 hay 14 17 20 gì là được

còn thêm làm sao thì chắc hỏi gg đi :V thấy khó quá thì đừng xài vs code cho C++ :face_with_thermometer: xài vs community 2022 ấy

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