特殊なテンプレートクラスの非型テンプレートパラメータの値にアクセスすることは可能ですか?
専門のテンプレートクラスがある場合:
template <int major, int minor> struct A {
void f() { cout << major << endl; }
}
template <> struct A<4,0> {
void f() { cout << ??? << endl; }
}
上記の場合、変数を使用する代わりに値4と0をハードコーディングするのは簡単ですが、私が専門としているより大きなクラスがあり、値にアクセスできるようにしたいと思います。
A <4,0>で値(4と0)にアクセスすることは可能major
ですminor
か?または、テンプレートのインスタンス化で定数としてそれらを割り当てる必要がありますか?
template <> struct A<4,0> {
static const int major = 4;
static const int minor = 0;
...
}