C++ 枚举类不明确继承

C++ 枚举类不明确继承,c++,c++11,inheritance,overloading,enum-class,C++,C++11,Inheritance,Overloading,Enum Class,当我使用应该是强类型的枚举时,我真的在为一个继承问题绞尽脑汁——然而,当通过继承使用枚举时,它似乎是模棱两可的 Im使用g++(GCC)4.7.2 我找不到任何信息为什么它不应该这样工作。我是否遗漏了一些明显的内容。这些函数必须在相同的范围内,过载解析才能正常工作。您需要自己将它们纳入一个通用范围: struct combined : A, B, C { using A::set; using B::set; using C::set; }; 或明确指定范围: inh

当我使用应该是强类型的枚举时,我真的在为一个继承问题绞尽脑汁——然而,当通过继承使用枚举时,它似乎是模棱两可的

Im使用g++(GCC)4.7.2


我找不到任何信息为什么它不应该这样工作。我是否遗漏了一些明显的内容。

这些函数必须在相同的范围内,过载解析才能正常工作。您需要自己将它们纳入一个通用范围:

struct combined : A, B, C
{
    using A::set;
    using B::set;
    using C::set;
};

或明确指定范围:

inherited_obj.A::set(AE::V1);
inherited_obj.B::set(BE::V2);
inherited_obj.C::set(CE::V3);

这些函数必须在同一范围内,过载解析才能工作。您需要自己将它们纳入一个通用范围:

struct combined : A, B, C
{
    using A::set;
    using B::set;
    using C::set;
};

或明确指定范围:

inherited_obj.A::set(AE::V1);
inherited_obj.B::set(BE::V2);
inherited_obj.C::set(CE::V3);

啊,这是Hillarios-我想我可以通过模板化函数类来做得更聪明,这样我可以消除很多代码,因为它们基本上只在自己的数据集上执行相同的功能。啊,这是Hillarios——我认为我可以通过模板化函数类来做得更聪明,这样我就可以消除很多代码,因为它们基本上只在自己的数据集上执行相同的功能。