struct Outer
{
	template<typename T>
	struct Inner
	{
	};
};

template<>
struct Outer::Inner<double> {} ;

int main()
{
	Outer::Inner<int> oii;
	Outer::Inner<double> oid;
}