Tôi có một tin nhắn mẫu protobuf này:Protobuf "oneof" chức năng không làm việc
message testMessage{
oneof oneOfTest{
string test2 = 2;
int32 test3 = 3;
}
}
Nhưng nó là thất bại trong việc biên dịch, nói:
[ERROR] protoc failed error: Expected "required", "optional", or "repeated".
test.proto: Missing field number.
Dựa trên số dòng, nó đang tìm kiếm cho rằng yêu cầu/tùy chọn/lặp đi lặp lại keyworkd trước khi "oneof" và nó là khiếu nại của số trường mất tích sau khi "oneOfTest". Đây không phải là cách chính xác để sử dụng oneof? Tôi đang sử dụng trình biên dịch java cho Protobuf.
Bạn đã thử thêm một trong các từ khóa đó vào vị trí mà nó cho biết bạn nên có một từ khóa chưa? Chuyện gì xảy ra sau đó? – csmckelvey
Bạn có đang sử dụng trình biên dịch đệm giao thức gần đây nhất không? 'oneof' được thêm vào 2.6, có vẻ như đã được phát hành vào thứ Hai tuần trước. –
@LouisWasserman Đó là nó, cảm ơn! Tôi không nhận ra tính năng 'oneof' mới. Nếu bạn muốn viết bình luận của bạn như là câu hỏi, tôi có thể chấp nhận nó như là câu trả lời. – yellavon