【发布时间】:2015-06-20 20:11:44
【问题描述】:
我是 C++ 编程的初学者。我尝试编写一个非常简单的程序,它结合了模板的使用、将数组作为参数传递给函数和基于范围的 for 循环。这是我使用 Eclipse Luna CDT 软件编写和编译的程序。
#include <iostream>
using namespace std;
template <typename T>
void display (T myArray[])
{
int i = 1;
for (T c : myArray)
{
cout << i << " element is " << c << endl;
++i;
}
}
int main()
{
int numArray[] {1, 2, 3};
char charArray[] {'a', 'b', 'c'};
display<int>(numArray);
display<char>(charArray);
return 0;
}
但是当我保存这个文件并构建它时,它说第 8 行有错误,突出显示基于范围的 for 循环。编译器明确指出“'begin' 和 'end' 未在此范围内声明”。编译器是 mingw-w64 并且已经为 C++11 设置。如何解决此错误?
谢谢你的回答。
【问题讨论】:
标签: templates c++11 for-loop mingw eclipse-luna