2016-11-06 1 views
0

私が取り組んでいるC++プロジェクトは、データ表現と既に作成されたprotosファイルのためにGoogleのprotobufを使用していて、.cc.hとなるようにコンパイルされています。私は私のメッセージタイプの配列を作成することができているメッセージタイプの配列を作成する方法

class MyMessage : public ::google::protobuf::Message { 
...; 
....; 
} 

プロトコンパイラによって生成されたMyMessageタイプは[]ような配列の対応のいずれかを実装していないので、私のようなことを行うとき、それは大丈夫だろうと思われるので

MyMessage * array = new MyMessage[4]; 0 STLを使用するのはまたは です。あなたはarrayとしてこれを行うことはできません

答えて

2
MyMessage array = new MyMessage[4]; 

はタイプMyMessageの変数ですが、new MyMessage[4]はあなたにMyMessage*MyMessageのの配列へポインタ)を提供します。

あなたがあらゆる完全な型の配列を作成することができますいずれか

MyMessage array[4]; 

または

MyMessage *array = new MyMessage[4]; 
+0

AlexanderAleksandrovičKlimov私はちょうど新しいものがあるときにそこにあるはずのタイポグラフィを作りましたが、私の質問は配列宣言とは少し違います私がこれまでに配列を作成しようとした場合、コンパイラが生成した 'MyMessage'のサポートを得るかどうかを調べています。 –

0

を行うことができます。 (クラス定義のヘッダーファイルが必要です)

関連する問題