gpt4 book ai didi

corba - 如何在 CORBA 中指定枚举字段值

转载 作者:行者123 更新时间:2023-12-01 09:39:45 27 4
gpt4 key购买 nike

我想在 idl 文件中写一个枚举作为 -

module Media 
{
enum eSpeed
{
int speed1 = 2000,
int speed2 = 4000,
int speed3 = 8000
};
};

但是 CORBA 不允许在枚举的情况下进行任何赋值。如何解决这个问题?

最佳答案

IDL 枚举不能被赋予值。通常我所做的是将 IDL 枚举重新映射到我自己在 C++ 中创建的枚举(可能带有查找表),在我的应用程序代码中使用它之前,它具有正确的值。换句话说,例如,服务器实现可能会在 CORBA 调用中接收 IDL 枚举,然后通过表查找将其映射到具有定义值的内部 C++ 枚举,然后将其传递给应用程序代码。

如果您不想这样做,您可以在 IDL 中使用常量而不是枚举:

const long speed1 = 2000;
const long speed2 = 4000;

然后你会通过 long而不是 eSpeed作为 IDL 中的参数。

关于corba - 如何在 CORBA 中指定枚举字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15969152/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com