I'm getting a strange error that I'm hoping someone here has seen
before and can help me with. I have included below the compiler
output from Microsoft Visual Studio, the proto file and the generated
header that is triggering the error. The line (4520) in the compiler
messages is flagged by >>> in the source code below. I'm sure this is
user error and not a problem with protocol buffers, but I'm really at
a loss so I'm hoping a kind soul here will take pity on me and help me
figure this one out.
Thanks in advance,
Protobuff Programmer
1>c:\users\shawn\development\platform\trunk\fixgateway\src\fixgateway
\Messaging/TradingSystem/ConfigurationProtocol.pb.h(4520) : error
C2059: syntax error : 'constant'
1>c:\users\shawn\development\platform\trunk\fixgateway\src\fixgateway
\Messaging/TradingSystem/ConfigurationProtocol.pb.h(4520) : error
C2258: illegal pure syntax, must be '= 0'
1>c:\users\shawn\development\platform\trunk\fixgateway\src\fixgateway
\Messaging/TradingSystem/ConfigurationProtocol.pb.h(4520) : error
C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
1>c:\users\shawn\development\platform\trunk\fixgateway\src\fixgateway
\Messaging/TradingSystem/ConfigurationProtocol.pb.h(4520) : warning
C4183: 'InstrumentOperation_OperationType': missing return type;
assumed to be a member function returning 'int'
1>c:\users\shawn\development\platform\trunk\fixgateway\src\fixgateway
\Messaging/TradingSystem/ConfigurationProtocol.pb.h(4520) : error
C2253:
'com::streamingedge::platform::protocols::InstrumentOperation::InstrumentOperation_OperationType'
:
pure specifier or abstract override specifier only allowed on virtual
function
message InstrumentOperation
{
required Header header = 1;
required Instrument instrument = 2;
required OperationType operationType = 3;
enum OperationType
{
ADD = 0;
UPDATE = 1;
DELETE = 2;
QUERY = 3;
CANCEL = 4;
}
}
class InstrumentOperation : public ::google::protobuf::Message
{
public:
InstrumentOperation();
virtual ~InstrumentOperation();
InstrumentOperation(const InstrumentOperation& from);
inline InstrumentOperation& operator=(const InstrumentOperation&
from) {
CopyFrom(from);
return *this;
}
inline const ::google::protobuf::UnknownFieldSet& unknown_fields()
const {
return _unknown_fields_;
}
inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields
() {
return &_unknown_fields_;
}
static const ::google::protobuf::Descriptor* descriptor();
static const InstrumentOperation& default_instance();
void Swap(InstrumentOperation* other);
// implements Message
----------------------------------------------
InstrumentOperation* New() const;
void CopyFrom(const ::google::protobuf::Message& from);
void MergeFrom(const ::google::protobuf::Message& from);
void CopyFrom(const InstrumentOperation& from);
void MergeFrom(const InstrumentOperation& from);
void Clear();
bool IsInitialized() const;
int ByteSize() const;
bool MergePartialFromCodedStream
(::google::protobuf::io::CodedInputStream* input);
void SerializeWithCachedSizes
(::google::protobuf::io::CodedOutputStream* output) const;
::google::protobuf::uint8* SerializeWithCachedSizesToArray
(::google::protobuf::uint8* output) const;
int GetCachedSize() const { return _cached_size_; }
private:
void SharedCtor();
void SharedDtor();
void SetCachedSize(int size) const { _cached_size_ = size; }
public:
::google::protobuf::Metadata GetMetadata() const;
// nested types
----------------------------------------------------
typedef InstrumentOperation_OperationType OperationType;
static const OperationType ADD =
InstrumentOperation_OperationType_ADD;
static const OperationType UPDATE =
InstrumentOperation_OperationType_UPDATE;
>>> static const OperationType DELETE =
>>> InstrumentOperation_OperationType_DELETE;
static const OperationType QUERY =
InstrumentOperation_OperationType_QUERY;
static const OperationType CANCEL =
InstrumentOperation_OperationType_CANCEL;
static inline bool OperationType_IsValid(int value) {
return InstrumentOperation_OperationType_IsValid(value);
}
static const OperationType OperationType_MIN =
InstrumentOperation_OperationType_OperationType_MIN;
static const OperationType OperationType_MAX =
InstrumentOperation_OperationType_OperationType_MAX;
static inline const ::google::protobuf::EnumDescriptor*
OperationType_descriptor() {
return InstrumentOperation_OperationType_descriptor();
}
static inline const ::std::string& OperationType_Name
(OperationType value) {
return InstrumentOperation_OperationType_Name(value);
}
static inline bool OperationType_Parse(const ::std::string& name,
OperationType* value) {
return InstrumentOperation_OperationType_Parse(name, value);
}
// accessors
-------------------------------------------------------
// required .com.streamingedge.platform.protocols.Header header =
1;
inline bool has_header() const;
inline void clear_header();
static const int kHeaderFieldNumber = 1;
inline const ::com::streamingedge::platform::protocols::Header&
header() const;
inline ::com::streamingedge::platform::protocols::Header*
mutable_header();
// required .com.streamingedge.platform.protocols.Instrument
instrument = 2;
inline bool has_instrument() const;
inline void clear_instrument();
static const int kInstrumentFieldNumber = 2;
inline
const ::com::streamingedge::platform::protocols::Instrument& instrument
() const;
inline ::com::streamingedge::platform::protocols::Instrument*
mutable_instrument();
//
required .com.streamingedge.platform.protocols.InstrumentOperation.OperationType
operationType = 3;
inline bool has_operationtype() const;
inline void clear_operationtype();
static const int kOperationTypeFieldNumber = 3;
inline
::com::streamingedge::platform::protocols::InstrumentOperation_OperationType
operationtype() const;
inline void set_operationtype
(::com::streamingedge::platform::protocols::InstrumentOperation_OperationType
value);
private:
::google::protobuf::UnknownFieldSet _unknown_fields_;
mutable int _cached_size_;
::com::streamingedge::platform::protocols::Header* header_;
::com::streamingedge::platform::protocols::Instrument*
instrument_;
int operationtype_;
friend void protobuf_AddDesc_ConfigurationProtocol_2eproto();
friend void protobuf_AssignDesc_ConfigurationProtocol_2eproto();
friend void protobuf_ShutdownFile_ConfigurationProtocol_2eproto();
::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
// WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
inline bool _has_bit(int index) const {
return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
}
inline void _set_bit(int index) {
_has_bits_[index / 32] |= (1u << (index % 32));
}
inline void _clear_bit(int index) {
_has_bits_[index / 32] &= ~(1u << (index % 32));
}
void InitAsDefaultInstance();
static InstrumentOperation* default_instance_;
};
--
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/protobuf?hl=en.