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

typedef int type;
typedef array <type,6> Liste;
bool appartient(type element, Liste liste);

int main()
{
    Liste maliste = {4,5,-3,12,7,-33};

    cout << appartient(13, maliste) << endl;
    cout << appartient(12, maliste) << endl;
    return 0;
}

bool appartient(type x, Liste liste)
{
    for (auto element: liste) {  //////this line!!!!!!!
        if (x == element) return true;
    }
    return false;
}

我正在用C++进行表格的练习。在这里,我正在编写一个功能“装置”,以验证列表中某个元素的装置。但是我在这种功能上有一些错误:

1 /错误:“:” token 之前的预期初始化程序

2 /错误:“返回”之前的预期主表达式

3 /错误:预期为';'在“返回”之前

4 /错误:“返回”之前的预期主表达式

5 /错误:“返回”之前应为“)”

为什么?

最佳答案

显然,您的编译器不支持range-based for-loops,至少不支持您使用的选项。

自GCC v4.6,Clang v3.0,MSVC v17.0,eccp v4.5,Intel C++ v13.0,IBM XLC++ v13.1.2,Sun / Oracle C++ 5.13,Cray v8.4, PGI 2015和HP aCC A.06.28。

检查您的编译器是最新的,并检查其有关如何激活C++ 11支持的手册。

07-28 08:44