####AtCoderのEX22 - 2つ目の値でソートにてtie()が用いられていた。
これをvscxodeにてコンパイルをすると以下のようなエラーが起きてしまうので原因を教えて欲しいです。
#include <iostream> #include <algorithm> #include <string> #include <vector> #include <tuple> using namespace std; int main() { int N; cin >> N; vector<pair<int, int>> p(N); for (int i = 0; i < N; i++) { int a, b; cin >> a >> b; p.at(i) = make_pair(b, a); // b, a の順でペアにする } sort(p.begin(), p.end()); for (int i = 0; i < N; i++) { int b, a; tie(b, a) = p.at(i); // b, a の順であることに注意 cout << a << " " << b << endl; } }
コンパイルエラー Main.cpp:26:5: error: use of undeclared identifier 'tie' tie(b, a) = ab.at(i); ^ 1 error generated.
コンパイラは何でしょう?
linuxのclang 10では通りますが・・・
また、vscxodeってvscodeの間違い?
Apple clang version 11.0.3 (clang-1103.0.32.59)です
コンパイルオプションは-std=c++11以上でしょうか?
参考→https://cpprefjp.github.io/reference/tuple/tie.html
どのように確認するのですか?
初心者なもので教えていただきたいです、、
g++ -std=c++11 Main.cpp
このようにたたいたらコンパイル通りました!
ありがとうございました。
回答1件
あなたの回答
tips
プレビュー