【C++】構造体やint型の変数にnullを代入する方法(Visual Studio)

C++

std::optional型を使ってnullを代入

C++ 17から C#のnull許容型のように、構造体やint型などのプリミティブ型にもnullを代入できるようになりました。std::optionalを以下のように使います。

Visual Studio (2019)で使用する場合はプロジェクトのプロパティの以下の項目で、C++17 or latestを設定するとstd::optionalを使用できるようになります。

Visual Studio 2017でも同様の設定がありますが、なぜか判りませんがビルドエラーになってしまいます。