Dato il codice sotto, il compilatore mostra un messaggio che indica che error: templates may not be ‘virtual’
. Qualcuno ha un suggerimento su come risolvere il bug?non possono essere 'virtuali'
template < class FOO_TYPE>
class CFoo{
public:
...
template < class BAR_TYPE >
virtual void doSomething(const CBar<BAR_TYPE> &); // here's the error
...
virtual ~CFoo();
protected:
MyClass <FOO_TYPE> * m_pClass;
};
template < class FOO_TYPE >
template < class BAR_TYPE >
void CFoo<FOO_TYPE>::doSomething(const CBar<BAR_TYPE> & refBar){
...
}
non è un bug, è una funzionalità, non è possibile dichiarare un modello di funzione che è virtuale. Devi esplorare un altro approccio, e questo dipende da cosa stai cercando di fare ... – Nim
il fatto è che il parametro della funzione è un oggetto modello e non posso cambiare la sua dichiarazione. – Javier
perché hai bisogno di una funzione diversa per ogni istanza di CBar? –