新しいC++ではstd::printという関数があるらしく、使ってみようと思ったが、
VSCodeでのやり方に少し手間取ったので備忘録として書く。
std::printについて:std::printについて @exli3141
C++23について:【C言語・C++】C23とC++23の概要@techsuwako
環境
- Windows 11 Pro
- Ubuntu 24.04.4 LTS (WSL2)
- g++14; GCC 13+?(g++13/g++14)
- VSCode version: 1.116.0
エラー内容
エディタ上で以下エラー
namespace "std" has no member "print"
実行時には以下エラー
error: ‘print’ is not a member of ‘std’
3 | int main() { std::print("Hello world!"); }
| ^~~~~
解決方法
そもそもg++で動くかどうか確認する
g++ -std=c++23 main.cpp -o main
./main
動かなかったら、g++を更新 [GCC 13+?(g++13/g++14) など?]
エディタ上のエラーの対処|C++ standardの変更

ここから飛べる→ vscode://settings/C_Cpp.default.cppStandard
実行時のエラーの対処|C++コンパイラの導入
Linuxに新しめなC++コンパイラが入っていなければ、たとえばg++-14をインストールする。
- Command Palette(
Ctrl+Shift+P) -
C/C++: Select IntelliSense Configurationを選択 -
Use g++-14を選択 (g++-13以上なら良いかも)
これで、エディタ上のエラーは消えるはず。
Run and Debugのエラーの対処|task.jsonへC++ standardの設定
task.jsonはC++ standard設定が反映されないので、"-std=c++23"を付け足す。

実行確認
#include <print>
int main() { std::print("Hello world!"); }
Hello world!
OK.
