質問: ### 前提・実現したいこと c++で#include してiotaを使ったのですが、エラーが出て使えませんでした。 ### 発生している問題・エラーメッセージ ``` error: ‘iota’ was not declared in this scope ``` ### 該当のソースコード ``` #include using namespace std; int main(){ int n; cin >> n; vector a(n); vector s(n); for(int i=0; i> s[i] >> a[i]; } vector ord(n); iota(ord.begin(), ord.end(), 0); sort(ord.begin(), ord.end(), [](int x, int y){ if(s[x]==s[y]){ return a[x]>a[y]; } return s[x]
回答: gcc4.8.1以降で適当にやってみましたが再現しません。 なんとなく予想としては、gccからgcc以外に`bits/stdc++.h`を移植したのでしょうか? ちなみに、ラムダ式のキャプチャリストが空なのに`s`や`a`を使おうとしてコンパイルエラーが出ています。