【问题标题】:C++ VS Code on OSX forrange loopOSX forrange 循环上的 C++ VS 代码
【发布时间】:2021-09-29 21:29:14
【问题描述】:

我被 VS Code 中的 forrange 循环卡住了。它给了我错误:

期望一个';'

期待一个表达式

VS Code C++ error

   mp[0] = 10;
   mp[1] = 200;
   mp[2] = 3000;
   mp[3] = 40000;

   for (int id : mp) // error for ":" and ")"
   {
       std::cout << id << std::endl;
   }

【问题讨论】:

标签: c++ macos loops visual-studio-code for-range


【解决方案1】:

如果mpstd::map&lt;int,int&gt;,那么您的for 循环类型错误,它不仅仅是int,而是每个元素的键/值对。你可以使用

for (auto const& item : mp)
{
    std::cout << item.first << ' ' << item.second << std::endl;
}

其中.first 是键,.second 是值。

【讨论】:

    【解决方案2】:

    谢谢你的回答,科里 但问题仍然存在:

    缺少显式类型(假定为“int”)[13,21]

    引用变量“item”需要一个初始化器 [13,27]

    期望表达式 [13,31]

    {
        std::map<int, int> mp;
        mp[0] = 10;
        mp[1] = 200;
        mp[2] = 3000;
        mp[3] = 40000;
    
        for (auto const &item : mp) // error for "&" and ":" and ")"
        {
            std::cout << item.first << ' ' << item.second << std::endl;
        }
    }
    

    Visual Studio Code c++11 extension warning - OSX Macbook

    【讨论】:

    • 你在编译-std=c++17标志吗?
    猜你喜欢
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多