>>669
template<int N> struct constant { static const int value = N; };
template<int N> struct n;
template<> struct n<kOne> : constant<100> {};
template<> struct n<kTwo> : constant<200> {};

A<n<kOne>::value> a;