Hello everyone!

The question is:
How do I avoid redefinition error with a enumeration values and message's 
static member functions?

The problem:
I want to implement with following protocol in C++.
```
syntax = "proto3";

message Message {
    enum Enum {
        Clear = 0;
    }
}
```
But I got a following error.
`Redefinition of 'Clear' as different kind of symbol`

It is caused by following two cords.
```
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
・・・
static constexpr Enum Clear =
    Message_Enum_Clear;
```
The former is a static member function of Message.
The latter is a value of Enum.

I'd like to solve this with some options of protoc command like preventing 
from namespace colluptions, but I couldn't find out.
I wonder you have custom that you name enumeration values with only upper 
cases.

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/97234243-8905-4018-9a82-eb9e607eae6dn%40googlegroups.com.

Reply via email to