template<typename A,typename B>
class CLASS{
A a;
protected:
B b;
public:
template<typename C>
class CLASS2{
C c;
public:
template<typename D>
D func(){static C d;return d;}
};
};

CLASS<int,char>::CLASS2<float> obj;
obj-> template func<float>();

(´Д`Д´Д`)ウワーン