参考サイトこれを見てmapについて学んでて以下のコードは
mapのイテレーションというものでmapはコンテナなのでイテレータを取得してレンジを回すことができる. らしいです
c++
1#include <map> 2#include <iostream> 3using namespace std; 4int main(){ 5 std::map<std::string, unsigned> dictionary{ 6 {"John", 1000}, 7 {"Tom", 1400}, 8 {"Harry", 800} 9 }; 10 for(const auto [key, value] : dictionary){ 11 cout << key << " => " << value << endl; 12 } 13 return 0; 14}
このコードをコンパイルしたときにwarning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
がでます。どのようにしたらいいのかわからないです。
それとfor文の()でしていることについて教えてください。
構造化束縛は C++17 で導入された機能なので、C++17 を有効にしてビルドする必要があります。
コンパイラやビルドをどのように行っているかを記載していただけますか
g++ -std=c++17 .\test.cpp のようにしたらできました。ありがとうございます。
どなたかfor文の()のなかでしていることについておしえてください。
参考サイト等あればお願いします
構造化束縛でググると情報が出てきます
https://cpprefjp.github.io/lang/cpp17/structured_bindings.html
質問がある場合、本質問とは別案件になるので、この質問はクローズして別途質問を立ててください
書き方が悪かったですね、
一番下のほうに書いてたのですが、、
参考サイトありがとうございます。拝見してわからなかったら別でスレたてます。ありがとうございました。
回答1件
あなたの回答
tips
プレビュー