【问题标题】:CAPL: How to have the same enumeration member name in different enumerations?CAPL:如何在不同的枚举中拥有相同的枚举成员名称?
【发布时间】:2018-06-11 06:56:08
【问题描述】:

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

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

enum OPTION_2
{
    ACTIVATED   = 1,
    OFF         = 0
};

当我尝试编译它时,我收到错误:重复的枚举器名称“激活”。

我发现了一个类似的问题,但对于 C++ 语言 c++ how to have same enum members name in different enum names without getting err:redefinition; previous definition was 'enumerator'

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

【问题讨论】:

    标签: enums capl canoe


    【解决方案1】:

    有一个变通方法,真的很丑,不建议这样做。

    在 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;  
    }
    

    在开始使用之前先问问自己有什么好处?因为代码看起来会很乱。

    您可以在 CANoe 帮助中找到更多信息:

    CAPL 简介 » 基础 » 枚举类型

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多