Possible Duplicate:
Template member function virtual?

How come templated virtual member functions not permitted?
I had been just experimenting a little with a few sample code and also the following code snippet provides me with the mistake

"member function templates cannot be virtual"

#include<iostream.h>
#include<stdio.h>
class Base
{
    public: 
    template <class T> virtual void doSomething(T genVar,int val){}

};

class derivedCl:public Base
{
    public:
    template <class T> virtual void doSomething(T genVar, char ch){}
};

Is a guide that the standard dictates and when why?

Edit: Used to do searching before asking the Q however the dup never turned up. Since Sbi pointed it, I'd election for closing that one. Thanks!