Enums CAPL:如何在不同的枚举中具有相同的枚举成员名称?

Enums CAPL:如何在不同的枚举中具有相同的枚举成员名称?,enums,capl,canoe,Enums,Capl,Canoe,我想这样做,以便我可以在不同的枚举中使用相同的枚举成员名称,如下所示: enum OPTION_1 { ACTIVATED = 1, DEACTIVATED = 0 }; enum OPTION_2 { ACTIVATED = 1, OFF = 0 }; 当我试图编译这个时,我得到了一个错误:重复枚举器名称“已激活” 我发现了一个类似的问题,但是对于C++语言 我尝试了那里展示的解决方案,但无法在CAPL中实现它们。我的问题是,我是否

我想这样做,以便我可以在不同的枚举中使用相同的枚举成员名称,如下所示:

enum OPTION_1
{
    ACTIVATED   = 1,
    DEACTIVATED = 0
};

enum OPTION_2
{
    ACTIVATED   = 1,
    OFF         = 0
};
当我试图编译这个时,我得到了一个错误:重复枚举器名称“已激活”

我发现了一个类似的问题,但是对于C++语言


我尝试了那里展示的解决方案,但无法在CAPL中实现它们。我的问题是,我是否可以拥有名称不同但成员名称相同的枚举;如果可能的话,如何在CAPL中实现它?

有一个解决方法,它非常难看,没有建议这样做

在CANoe中,您可以为系统变量定义自己的值表,这些变量实际上是枚举,并且对相同的成员名称没有限制

然后您可以在CAPL代码中重用此枚举:

variables{
  enum VtSv_foo_myEnum1 var1;
  enum VtSv_myEnum2 var2;
}

do_foo(){
  var1 = (enum VtSv_foo_myEnum1) sysvar::foo::myEnum1::One;
  var2 = (enum VtSv_myEnum2) sysvar::myEnum2::One;  
}
在开始使用之前,问问你自己好处在哪里?因为代码看起来很混乱

您可以在“独木舟帮助”中找到更多信息:

CAPL简介»基础»枚举类型