Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用外部类中的枚举避免在.proto中定义?_C++_Python_Protocol Buffers - Fatal编程技术网

C++ 使用外部类中的枚举避免在.proto中定义?

C++ 使用外部类中的枚举避免在.proto中定义?,c++,python,protocol-buffers,C++,Python,Protocol Buffers,我在代码中有三种不同格式的消息,我制作了所有三个.proto文件并进行了编译。我已经有了另一个,可以说是常规类,有很多枚举,我需要在所有三个类中使用这些枚举。有没有办法使用外部正则类中的枚举,而不在所有三个文件的proto中定义相同的枚举?我不太清楚外部正则类是什么意思 如果你想在C++中定义枚举,然后将它放在一个原BUFF中,只在int to /p>中放置一个int字段。 但如果希望多个Proto使用公共枚举,可以使用导入: common.proto: package foo_common;

我在代码中有三种不同格式的消息,我制作了所有三个.proto文件并进行了编译。我已经有了另一个,可以说是常规类,有很多枚举,我需要在所有三个类中使用这些枚举。有没有办法使用外部正则类中的枚举,而不在所有三个文件的proto中定义相同的枚举?

我不太清楚外部正则类是什么意思

如果你想在C++中定义枚举,然后将它放在一个原BUFF中,只在int to /p>中放置一个int字段。 但如果希望多个Proto使用公共枚举,可以使用导入:

common.proto:

package foo_common;

enum Color {
    red = 1;
    black = 2;
}
tree.proto:

package foo_tree;

import "common.proto";

message Node {
     optional foo_common.Color color = 1;
};