congization ofgerizerリストの外側のブレースを省略することについての混乱
cプログラミングの領域では、初期イザーリストでのブレースの使用に関して一般的な疑問が生じます。具体的には、プログラマーは、特定の集計タイプには外側のブレースが必要であるように見えるが、他のタイプにはそうではないシナリオに遭遇する場合があります。この記事の目的は、トピックをより深く掘り下げ、外側のブレースを省略できる時期を明確にすることを目的としています。
{
int foo;
ダブルバー;
};
std :: array a1 =
//エラーC2078:初期化剤が多すぎます
{
{0、0.1}、
{2、3.4}
};
// わかりました
std :: array
を次のように定義するカスタム集計タイプAARRAYを検討するために、追加のブレースが必要です。 struct aarray { データ[2]; //内部配列 };
struct A { int foo; double bar; }; std::array a1 = // error C2078: too many initializers { {0, 0.1}, {2, 3.4} }; // OK std::arraya2 = {0.1, 2.3};
aarray a1 = { {//内部配列の初期化を開始します {//内部配列の最初の要素を初期化します 0、0.1 }、//最初の要素の初期化を終了します {2、3.4} //内部配列の2番目の要素を初期化します } //内部配列の初期化を終了します }; //エラー:ブレースを使用していない場合は、初期剤が多すぎます AARRAY B1 = { 0、0.1、 2、3.4 };
std :: array
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3