我正在尝试运行此程序:
#include <vector>
#include<iostream>
#include<numeric>
#include<algorithm>
using namespace std;
int main()
{
std::vector<int> V(10);
// Use std::iota to create a sequence of integers 0, 1, ...
std::iota(V.begin(), V.end(), 1);
// Print the unsorted data using std::for_each and a lambda
std::cout << "Original data" << std::endl;
std::for_each(V.begin(), V.end(), [](auto i) { std::cout << i << " "; });
std::cout << std::endl;
// Sort the data using std::sort and a lambda
std::sort(V.begin(), V.end(), [](auto i, auto j) { return (i > j); });
// Print the sorted data using std::for_each and a lambda
std::cout << "Sorted data" << std::endl;
std::for_each(V.begin(), V.end(), [](auto i) { std::cout << i << " "; });
std::cout << std::endl;
return 0;
}
但它给了我错误
main.cpp:18: error: parameter declared 'auto'
std::for_each(V.begin(), V.end(), [](auto i) { std::cout << i << " "; });
^
现在我很确定这是因为我的编译器没有使用c ++ 14
我正在使用QT5.5.1,GCC g ++ 4.8.4编译器
我在.pro文件中添加了这个:
CONFIG += c++14
但这并没有改变任何事情......
我的.pro文件现在是这样的:
TEMPLATE = app
CONFIG += c++14
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp
我尝试将我的编译器更新为g ++ 5,但这似乎不起作用?