以下の問題の解決策を提供するように依頼されました。
いくつかの int パラメーターを定義する構造体があります。
struct B {
int a;
int b;
};
この構造体を他のクラスの const static メンバーとして定義したい場合があります(これだけでなくclass A
、同じ定数セットを持つことが期待される他のクラスがあります)。
そして、それらを実際の整数定数として使用したいと考えていました:
// .h file
class A {
public:
static const B c; // cannot initialize here - this is not integral constant
};
// .cpp file
const B A::c = {1,2};
ただし、この定数を使用して、たとえば配列を作成することはできません。
float a[A::c.a];
何かアドバイス?