The errors suggest to me that somewhere you have #defined Arc as a macro. Is this possible?
On Thu, Dec 10, 2009 at 9:21 AM, bayWeiss <bzwr...@yahoo.com> wrote: > 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<protobuf%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/protobuf?hl=en. > > > -- 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.