C++のVScode環境でほぼハマるのが、コンパイラーのバージョン互換問題。ほぼ3年毎にメジャーチェンジがあるので、新しい機能はデフォルトのままでは動かない。
具体的にはラムダ式がデフォルト設定ではダメでした。error以外にもwarningがそれ以前には出ていましたが、とりあえず前には進めるから放置してました。
を参照して、① コンソール入力可能にするのはメニューから設定して、② コンパイラーバージョン設定はcode-runnerのsettings.jsonファイル中の最後部分、”code-runner.runInTerminal”: true以下に点線で挟まれた部分を追加。ただし、以下の太字($fileName)のところは参照内容から変更してます。
———————————————————–
,
“code-runner.executorMap”: {
“cpp”: “cd $dir && runFiles=`ls *.cpp` && g++ -std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt”,
},
“clang.cxxflags”: [
“-std=c++20”
]
———————————————————–
これで新しい機能もコンパイルできるようになりました。
admin