Hi Michael, Try this... template< size_t sizeValue > class Derived<sizeValue, int> : public Base<sizeValue, int> { public: Derived() : Base<sizeValue, typename Base<sizeValue, int>::val_t>(1) { } }; Microsoft's compiler is in error, it should not accept your non-compliant code. HTH, --Eljay