2016-11-06 7 views
0

Das C++ - Projekt, an dem ich gearbeitet habe, verwendet Googles Protobuf für ihre Datendarstellung und seine Art der bereits erstellten Protos-Datei und wurde kompiliert, um mit und .h bin, kann ich ein Array von meinem NachrichtentypSo erstellen Sie ein Array von Nachrichtentyp

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

schaffen, weil es wie von dem Proto-Compiler erzeugte MyMessage Typ nicht implementiert eine der Array Pendants wie [], so wird es in Ordnung sein, wenn ich Dinge tun scheint, dass

MyMessage * array = new MyMessage[4]; oder mit STL ist die einzige Wahl;

Antwort

2
MyMessage array = new MyMessage[4]; 

Sie können dies nicht als array tun, ist eine Variable vom Typ MyMessage, aber new MyMessage[4] gibt Ihnen einen MyMessage* (Zeiger auf ein Array von MyMessage s).

könnten Sie entweder tun

MyMessage array[4]; 

oder

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

Alexander Aleksandrovič Klimov Ich weiß, ich habe gerade eine Typografie gemacht das sollte da sein, wenn neu da ist, aber meine Frage ist ein bisschen anders als Array-Deklaration was ich bin Suche nach ist, ob ich Unterstützung vom Compiler generierte "MyMessage" bekomme, wenn ich jemals ein Array erstellen wollte. –

0

Sie Arrays von jeden kompletten Typ erstellen können. (Sie sollten eine Header-Datei mit der Klassendefinition haben.)

Verwandte Themen