問題タブ [enum-class]
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++ - 名前空間内の列挙型クラスでブースト テストが失敗する
operator <<
C++11 に対してを定義するenum class
と、Boost の単体テスト ライブラリで正常に使用できます。
enum class
ただし、 を の中に入れるnamespace
と、Boost コードはコンパイルされなくなります。
enum class
内部に入れると機能しなくなるのはなぜnamespace
ですか?std::cout
どちらの方法でも問題なく動作するので、これoperator <<
は正しいことを意味しますか?
この問題を示すサンプル コードを次に示します。
c++ - C++14 演算子 << ストリーム挿入および列挙型クラス用
「BLACK」と「WHITE」の 2 人のプレイヤーがいるゲームを書いています。
次の列挙型クラスがあります。
このクラスの ostream operator<< を書きたいと思います。これが私の試みです:
ただし、次のコンパイラ エラーが発生します。
問題は、enum クラスと operator<< を別のクラス内にネストしていることだと思います。class Player
.
このクラス内から列挙型を削除せずにこれについてできることはありますか?
c++ - enum クラスとブーストのシリアライゼーション
ブースト シリアライゼーションclass
を使用するメンバーを持つ a をシリアライズ/デシリアライズするにはどうすればよいですか。enum class
例:
またはenum_class
を受け入れないため、シリアライズ可能にすることはできません。解決策は何ですか?friend
member functions
c++ - switch() で未処理の enum クラス値 - 例外またはアサート?
lvl
ですenum class
。
コンセンサスはdefault
そこにあるべきですが、関連する質問の意見は、それが何をすべきかについて分かれています。全体をクラッシュしますか?現在のスレッドをクラッシュしますか? 例外を適切に処理しますか?
両陣営はコメントでいくつかの議論を提示していますが、議論は完全に決定的なものではありません.
どちらを使用すべきか、またはどの条件で使用すべきか、誰かが包括的な答えを提示できますか?
c++11 - :: 演算子を使用していますが、列挙型クラス エラーがクラス、名前空間、またはスコープ付き列挙型ではないというエラーが引き続き表示されます
Car オブジェクトの色とノイズを印刷したいと思います。Car クラス内で c++11 の enum クラスを使用しようとしています。コンパイルすると、Car::Color and Car::Noise is not a class, namespace, or scoped enumeration というエラーが表示されます。:: 演算子を使用して enum クラスにアクセスしています。しかし、エラーは解決しません。問題は Car.cpp ファイルにあるようです。これが私のコードです。どんなアドバイスでも大歓迎です。本当にありがとう。
車.h
車.cpp
main.cpp
c++ - 別の場所でクラスの一部である列挙型を宣言することは可能ですか?
type
カスタム列挙型クラスの属性を持つクラスがありますClass::Type
。現在、 の宣言はClass
次のようになっています。
しかし、クラス宣言のビジュアルを妨げないように、別のClass::Type
場所 (できればクラス宣言の直後)の宣言を配置したいと考えています。
それは可能ですか?どのように?
qt - QML コンポーネント列挙型クラス プロパティ
別のqmlファイルにデリゲートコンポーネントがあり、c++ QObject からの列挙型クラスタイプであるプロパティが必要です。これは可能ですか?
最小限の(非)作業例を次に示します。
card.h
main.cpp
testcard.qml
私が得るコンパイラエラー:
D:\Programs\Qt\Qt5.7.0\5.7\mingw53_32\include\QtQml\qqml.h:89: エラー: 'staticMetaObject' は 'Card::InGameState' のメンバーではありません const char *className = T::staticMetaObject 。クラス名(); \
enum クラスが QObject ではないため、このエラーが発生します。しかし、Q_ENUM マクロはそれを MetaSystem で使用できるようにすべきではありませんか?
これを手伝ってくれませんか?enum クラスを削除して enum に変更し、qml で int プロパティを使用することもできますが、c++11 の機能を使用したいと考えています。