M1 Mac - 使用 CodeRunner 的 VSCode - 不能使用自动迭代器计算向量元素[重复]

问题描述 投票:0回答:0

尝试运行一个返回两个数组联合的 cpp 程序。计算机是 M1 Pro Macbook Pro 14.2 英寸,Mac OS Monterey 12.6。将 VSCode 与 C/C++ 扩展和 Coderunner 结合使用。我之前在 Vscode 上运行 cpp 程序时也遇到了问题,所以我遵循了一堆不同的指南来试图解决这个问题。有些是用自制软件安装 mingw-w64,有些是 gcc,最常用的是 coderunner,这就是我坚持使用它的原因。

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

//this code works only for sorted arrays, notice the 

void Find_Union(int arr1[],int arr2[], int n, int m)
{
  vector <int> Union;
  int i = 0, j = 0;
    while(i<n && j<m)
    {
        if(arr1[i]<=arr2[j])
        {
            if (Union.size() == 0 || Union.back() != arr1[i])
            {   
                Union.push_back(arr1[i]);
                i++;
            }
        }
        else
        {
            if (Union.size() == 0 || Union.back() != arr2[j])
            {
                Union.push_back(arr2[j]);
                j++;
            }
        }  
    }
  while (i < n) // IF any element left in arr1
  {
    if (Union.back() != arr1[i])
      Union.push_back(arr1[i]);
    i++;
  }
  while (j < m) // If any elements left in arr2
  {
    if (Union.back() != arr2[j])
      Union.push_back(arr2[j]);
    j++;
  }

    for(auto &it: Union)
    {
        cout<<it<< " ";
    }
}

int main()
{
  int arr1[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  int arr2[] = {2, 3, 4, 4, 5, 11, 12}; 
  int n = sizeof(arr1)/sizeof(arr1[0]);
  int m = sizeof(arr2)/sizeof(arr2[0]);
  Find_Union(arr1,arr2,n,m);
  return 0;
}

出于某种原因,在尝试运行这段代码时,出现以下错误:

UnionOfTwoSortedArrays-Pointers.cpp:44:9: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
    for(auto &it: Union)
        ^
UnionOfTwoSortedArrays-Pointers.cpp:44:17: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
    for(auto &it: Union)

错误是因为当我尝试使用自动迭代器使用 cout 打印出 Union 向量的元素时。

我试图搞乱 DefaultL: Cpp Standard 扩展设置,用于 C/C++ 扩展,并且还尝试在 Code Runner 的扩展设置中编辑 Cpp 语言的执行程序映射设置。

作为旁注,使用#include 也需要一些技巧,我还没有抽出时间去做。有没有人有一些清晰的教程我可以遵循在 M1 Mac 上的 VSCode 上运行 cpp 代码或某种修复?

c++ visual-studio-code apple-m1 auto vscode-code-runner
© www.soinside.com 2019 - 2024. All rights reserved.