問題タブ [stdoptional]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - `std::optional の理由T に「const」データ メンバが含まれている場合、::operator= は削除されますか?
次のコードでは、コンパイラ エラーが発生します。
たとえば、gcc では、次のエラーが表示されます。
別の例として、MSVC では、次のエラーが表示されます。
const
のキーワードを削除する限りconst A a;
、エラーは消えます。std::optional で参照されている標準によると、 std::is_...able_v テストによっては、 =operator の特定のオーバーロードが削除される場合があります。この場合、const
キーワードがこれらのテストの一部に影響を与えるのはなぜですか?
c++ - 分岐データ構造の別のオプションの要素で std::optional テンプレートを使用する
私は、主に構造体と整数から構築された分岐データ構造を持っています。一部の要素は std::optional テンプレートで署名されています。オプションの構造体要素の場合、別の構造体で、それ自体も別の構造体でオプションとして参照されているため、エラーが発生します。
Error (active) E0135 class "BasicContent" has no member "km"
それがこのエラーを生成するコードです:
奇妙なことに、コードを実行してすべてのデータに書き込むことはできますが、このエラーが表示され続けます。また、時計では「km」がnulloptとして表示されますが、すべて問題ありません。これに対する解決策はありますか、それとも表示されないものがありますか?