template struct complement { template struct traits { private: typedef complement_traits_aux prev; public: static const Number max = Number(Number(prev::max) << 8) + Number(255); static const Number min = Number(Number(prev::min) << 8); }; }; int main() { const char max = complement::template traits::max return 0; }