0

以下のような構造体がある場合:

typedef struct MyStruct {
    char **str;
    int num;    
} MyStruct;

この構造体の配列を初期化する方法はありますか? おそらく以下のようになります。

const MyStruct MY_STRUCTS[] = {
    {
        {"Hello"}, 
        1
    },
    {
        {"my other string"}, 
        3
    },
};

最終的には、C++ クラス内で構造体の配列を常に宣言したいと考えています。これはどのように行うことができますか?事前に初期化されたプライベートに宣言されたメンバーを持つことは可能ですか?

4

3 に答える 3

0

次のようなものを使用できます

class foo {
    MyStruct array[2];
public:
    foo()
        : array{ { "a", 1 }, { "b", 2 }}
    {
    }
};

structあなたの最初のメンバーが、初期化の例が示唆するchar const*ものではなく、実際にあると仮定します。char**

于 2013-09-21T23:25:38.290 に答える