質問
C++20のstd::formatや[[likely]]属性を試そうと思ったんですが、方法が分かりません。
一部の新構文のコンパイルは通る(後述)のですが、新しい機能を使おうとするとうまくいきません。
コンパイラはVisual Studio (先ほどアップデートしたので最新版です)
ビルドにはCmakeを使っています。
CMakeList
調べた結果CMakeList.txtをこのようにしてみましたがダメでした。
cmake
1cmake_minimum_required(VERSION 3.16) 2project(Test) 3 4set(CMAKE_CXX_STANDARD 20) 5set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++latest") 6 7add_executable(Test main.cpp)
例えばこれは動く
以下のようなstructの初期化はC++20から導入されたものなので、一部の新構文は動くことが分かります。
cpp
1#include <iostream> 2#include <string> 3 4struct Test { 5 std::string name; 6 int age; 7 int height; 8}; 9 10int main() { 11 Test t = {.name = "Tanaka", .age = 399, .height = 180}; 12 return 0; 13}
まだC++20って完璧に導入されてはいないんでしょうか?
回答1件
あなたの回答
tips
プレビュー