問題タブ [array-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.

0 投票する
4 に答える
1440 参照

java - 型キャストによる Java Array の初期化

次のコードは私を混乱させます:

2 つの初期化が互いに異なる理由を理解しようとしています。1 つ目は post 宣言で、2 つ目はショートカットです。2つは両方とも次のように宣言されていますObject[]

私の素朴な理解は次のとおりです。

したがって、 の実行時の型はarr2Object[]変換できませんString[]

しかし、Java Array は共変であるため、ここで 事態は奇妙String[]Object[]なりarr2ます。String[]Object[]String[]arr2

これに関する説明は高く評価されています。

0 投票する
3 に答える
2864 参照

c - 構造体配列の初期化での MISRA-C エラー

私は次のものを持っています:

私には問題ないように思えますが、MISRA-C は次のエラーを出しています:

MISRA C:2012 ルール 10.3 違反: [R] 式の値は、より狭いエッセンシャル タイプまたは異なるエッセンシャル タイプ カテゴリのオブジェクトに割り当てられません。

なぜこれが起こっているのかを理解しようとしましたが、それを見ることができます。また、ビルド結果は同様の状況でこのエラーに悩まされており、その理由はわかりません。

何が起こっているのか知っている人はいますか?

編集:私はまた、すべての値を明示的にキャストしようとしましたが、それでも同じエラーが発生します:

0 投票する
3 に答える
327 参照

c++ - C++ での括弧付き配列オブジェクトの初期化

ここには、x と y の 2 つのプライベート フィールドを持つクラスがあります。

以下のように Point オブジェクトの配列を初期化すると、出力は問題ありません。

出力;

ただし、以下のように Point 配列を初期化すると、出力が奇妙になります。

出力;

Point オブジェクトの初期化で (30,40) が機能しないのはなぜですか?

完全なテスト コードは次のとおりです。

そして、テストコードの完全な出力;

0 投票する
1 に答える
1864 参照

multidimensional-array - VHDL: ネストされた 1 次元ベクトルのように 2 次元ベクトルが初期化されるのはなぜですか?

VHDL では、配列 (ベクトル) は を使用して初期化できます(others => <element>)

1 次元の例:

ネストされた 2 つの 1 次元ベクトルを使用している場合、次の例のようになります。

OK、これが真の 2 次元の例です。

ご覧のとおり、信号の構造は前のものとは異なりますが、初期化は同じです。

この構文が(others, others => '0')使用されている/使用されていないのはなぜですか?

0 投票する
0 に答える
36 参照

c++ - 集計などの派生オブジェクトの配列を初期化する

次のクラスの階層を考えてみましょう。

B集約クラスですが、Dそうではありません (基底クラスが存在するため)。集合体のような配列を初期化する方法はありDますか (つまり、ユーザーが作成したコンストラクターを使用せずに) はありますか?

0 投票する
2 に答える
65 参照

java - 囲んでいるインスタンスは、二重ブレース初期化子のスコープ内にありません

いくつかのクラスが別のクラスにネストされています

これらの条件下では、「エラー: タイプ A の囲んでいるインスタンスがスコープ内にありません」というエラーが表示されます。このセットアップから要素を削除すると、このエラーが修正されます。また、 x を取得して別の変数に保存し、その変数を使用することもできます。

ここで何が起きてるの?私にとっては、コンパイラのバグのようです。

0 投票する
1 に答える
243 参照

c++ - 多次元配列のイニシャライザから境界を推測できませんでした

次のコードはコンパイルされません。

生成されるエラーメッセージは

これは規格で指定されていますか?もしそうなら、それはなぜですか?ここで境界を推測するのは非常に簡単だと思います。

0 投票する
2 に答える
80 参照

java - 配列初期化子の各要素の位置

たとえば、配列初期化子内の各要素の位置を取得したい:

パーツ内の各要素の位置を取得するにはどうすればよいですか?

たとえば、次のようになります。

では、任意のサイズと任意の数の次元配列初期化子に対してこれを行うにはどうすればよいですか?