#include #include template class A { public: typedef typename std::conditional::type StringType; A() : s(""), t(0) {} virtual ~A () {} private: StringType s; T t; }; int main() { A a; return 0; }