I cant post the whole generated .h file, but below is a snippet where for some reason the compiler cant identify the Arc class. The declaration for Arc is definitely above the below c++ snippet, but it acts as if it cant recognize it.
---the errors are from VS2008------------------------------ error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\googleprototest\googleprototestcppserver \person.pb.h 669 GoogleProtoTestCPPServer error C2143: syntax error : missing ';' before '&' c:\googleprototest \googleprototestcppserver\person.pb.h 669 error C2838: 'Arc' : illegal qualified name in member declaration c: \googleprototest\googleprototestcppserver\person.pb.h 669 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\googleprototest\googleprototestcppserver \person.pb.h 669 -----here is the generated header snippet from 2.2.0a protoc, within the Entity class declaration-------- // optional .Square square = 3; inline bool has_square() const; inline void clear_square(); static const int kSquareFieldNumber = 3; inline const ::Square& square() const; inline ::Square* mutable_square(); // optional .Arc arc = 4; inline bool has_arc() const; inline void clear_arc(); static const int kArcFieldNumber = 4; inline const ::Arc& arc() const; // <- the problem is here, line 669 inline ::Arc* mutable_arc(); // and here as well -------here is the .proto file--------- message Point { required double X = 1; required double Y = 2; } message Circle { required Point point1 = 1; required Point point2 = 2; required Point point3 = 3; required Point point4 = 4; } message Square { repeated Point pointList = 1; } message Arc { required Point center = 1; required double startAngle = 2; required double endAngle = 3; } message Parameter { required double somethingHere = 1; } message Entity { enum Type { CIRCLE = 1; SQUARE = 2; ARC = 3; } // Identifies which entity it is. required Type type = 1; optional Circle circle = 2; optional Square square = 3; optional Arc arc = 4; } message Job { repeated Entity entity = 1; } message Initialize { } message Start { } message MainMessage { enum Type { NEW_JOB = 1; INITIALIZE = 2; START = 3;} // Identifies which field is filled in. required Type type = 1; // One of the following will be filled in. optional Job job = 2; optional Initialize initialize = 3; optional Start start = 4; } -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to proto...@googlegroups.com. To unsubscribe from this group, send email to protobuf+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/protobuf?hl=en.