状況によってIDLコンパイラは,IDL定数の名前を生成するのではなく,IDL定数の値を含んでいるC++コードを生成する必要があります。例えば,C++コードが適切にコンパイルできるようにするために,typedef Vに対して定数lengthの値が生成される必要があります。例をコードサンプル20-9~20-10に示します。
// IDL
interface foo {
const long length = 10;
typedef long V[length];
};
class foo : public virtual CORBA::Object
{
const CORBA::Long length;
typedef CORBA::Long V[10];
};