是否可以在CORBA IDL中为struct成员定义默认值? 我们以下面的结构为例:
struct Example
{
boolean test;
};
如果我将此IDL编译为C ++,则在创建对象后,变量“test”将被取消初始化。我希望它始终设置为false,直到它明确切换为true。
答案 0 :(得分:1)
我使用omniORB和VisiBroker进行CORBA实现。这些idl编译器都不支持默认值结构。
答案 1 :(得分:0)
OMG IDL到C ++映射不默认初始化struct成员。正如您所提到的,IDL到C ++ 11映射确实为所有类型指定了默认值,包括所有基本类型。目前你有一个支持C ++ 11的编译器/操作系统,你应该可以使用IDL到C ++ 11映射,它不需要你在你的应用程序代码中使用C ++ 11。