// InternalTemplate.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
template<class T>
struct LeftSide
{
 static void insert(T*& newLink, T*& parent)
 {
  parent->getLeft() = newLink;
  newLink->parent = newLink;
 }
};
template<class T>
struct Link
{
 T* parent_;
 T* left_;
 T* right_;
 T*& getParent()const
 {
  return parent_;
 }
 template<class Side>
 void plugIn(Link<T>*& newLink);
};
template<class T>
template<class Side>
void Link<T>::plugIn(Link<T>*& newLink)//<<-----why can't I type  
//void Link<T>::plugIn<Side>(Link<T>*& newLink)<---<Side> next to plugIn
{
 Side::insert(newLink,this);
}
int _tmain(int argc, _TCHAR* argv[])
{
 return 0;
}
I find it strange that I have to specify parameter for class but cannot specify parameter for fnc. Is there any reason why?