-1
私はstd::for_each_n
ループ用の小さなコードを持っています。'for_each_n'はC++の 'std'のメンバーではありません。
g++ -std=c++1z -O2 -Wall -pedantic -pthread main.cpp && ./a.out
しかし、コンパイラ「『for_each_n』が 『STD』のメンバではありません」というエラーを与える:私は、以下のコマンドを使用して作り付けのColiruコンパイラGCC C++ 17上でそれを実行してみました。
私のコードはcppreferenceからコピーされています。
#include <algorithm>
#include <iostream>
#include <vector>
int main()
{
std::vector<int> ns{1, 2, 3, 4, 5};
for (auto n: ns) std::cout << n << ", ";
std::cout << '\n';
std::for_each_n(ns.begin(), 3, [](auto& n){ n *= 2; });
for (auto n: ns) std::cout << n << ", ";
std::cout << '\n';
}
なぜ、私にエラーが表示されますか?
あなたは++ 17 cをサポートするコンパイラを実装しないのでしょうか? – user463035818
@ tobi303 http://coliru.stacked-crooked.com/コンパイラ – rsp
を使用しました。この特定の機能はサポートされていますか? – stefaanv