問題タブ [aggregate-initialization]
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++ - 'int' から非スカラー型 conts 'Vec2' への変換が要求されました
私は C++ の初心者で、ヘビを作ろうとしていますが、問題があります。
エラーの行:
そして、ここにコードがあります:
では、どうすればこの問題を解決できますか?
c++ - プライベート集計の初期化
集約クラスprivate
の集約初期化として定義することは可能ですか? クラスは、独自の静的プライベート メンバーによってのみ集約初期化できるようにしたいと考えています。
例:
c++ - 集約初期化とメンバー初期化子による構造体の初期化
次の例を検討してください。
id clang 3.x および gcc 4.8.x のデフォルト値なしで構造体 ABC を定義すると、コードは問題なくコンパイルされます。ただし、「id」のデフォルト引数を追加すると、次のようなエラー メッセージが表示されます。
技術的な観点から、デフォルトの引数で id を定義するとどうなりますか?また、その場合、集計の初期化ができないのはなぜですか? ある種のコンストラクターを暗黙的に定義しますか?
c++ - std::array 集約の初期化とテンプレートの整数型
のドキュメントから、次のstd::array
ように初期化できることがわかります (集約初期化を使用)。
とにかく、この場合、問題が発生します。
構築中に配列を初期化するにはどうすればよいですか (インデックスを渡す ed 関数を使用するか、からs
の値を使用する例として)?0
N-1
constexpr
c++ - コンストラクターはあるが集約の初期化がない POD 型
私はこれらを持っているC ++のPODタイプについて混乱していますstruct HSV
。struct RGB
これは、カラーを構築するための値の累積です:
struct RGB
次のように、C のような集約初期化でa を初期化できます。
ただし、追加のコンストラクターのコメントを外してstruct RGB
astruct HSV
とdefault
ed のデフォルト コンストラクターをビルドすると、集計の初期化が機能しなくなります。
ただし、手元に POD があることは引き続き通知されます。
私が持っているような変換コンストラクターを使用しながら、C スタイルの集計初期化を使用できますか、それとも不可能ですか?
編集:これがclang
拡張機能であることが通知されました(VSコンパイラでも可能のようです)。しかしclang
、少なくともそれが可能かどうかはまだ疑問です。
c++ - std::array 型の初期化
astd::array
を使用すると、次のように初期化できます。
独自の配列クラスを作成しようとしている場合、どうすれば同様のことができますか?
c++ - 構造体集約の初期化とデフォルト コンストラクターの比較
構造体の次の初期化が与えられた場合:
明示的に定義されている場合、これは常に集約の初期化を行いますか、それともStruct()
代わりにコンストラクターが呼び出されますか?
c++ - 集約の初期化を伴う C++11 コンストラクターの委譲
デフォルト ctor の独自の定義内で集約の初期化を呼び出すことは可能ですか?
GCC は、次のコードで「エラー: コンストラクターがそれ自体に委任されています」と文句を言います。
memset(this, 0, sizeof(*this))
現在ctor本体で使用しています。
c++ - プライベートコンストラクターがプライベートコンストラクターではないのはいつですか?
型があり、そのデフォルトのコンストラクターを非公開にしたいとしましょう。私は次のように書いています。
偉大な。
しかし、その後、コンストラクターは私が思っていたほどプライベートではないことが判明しました。
これは、非常に驚くべき、予想外の、明らかに望ましくない動作だと思います。なぜこれでOKなの?
c++ - 集合体の型特性
ワーキング ドラフトの8.5.1/1によると、集約は、ユーザー提供のコンストラクター、プライベートまたは保護された非静的データ メンバー、基底クラス、および仮想関数を持たない配列またはクラスです。
タイプでそのような機能を検出する方法または特性はありますか?
例としてis_polymorphic
、クラスなどの場合と同様です。集合であれば真、そうでなければ真
となる型のようなもの。is_aggregate<T>::value
T
false
私はそれを使用して定義できると思いis_array
ます...他に何がありますか? 残念ながら、それについてはわかりません。
このような型を定義する方法が少なくとも存在しますか?