Ciao.
Devo gestire la seguente funzione:

codice:
void CBaseApiSapData::iterateSafeArray(CArray<CString,CString>* pArray,SAFEARRAY* sa,int nType)
{

CString pdata ;//variabile che cambia
{
for(idx=0; idx < lElements ; idx++)
  {
   SafeArrayGetElement(sa,&idx,&pdata);
   CString str(pdata);
   if(!containsElement(pArray,str) && str != "")
   pArray->Add(str);	
   }
}
}
che cambia a secondo il tipo che usa(se ho un CString allora la var pdata sara' CString e l'array pArray dovrebbe essere di tipo <CString,CString>)
1)puo' essere un caso in cui usare i template?
2)Come si puo' generalizzare la funzione magari con i templates(senza gestire l'array pArray ,lasciandolo a <CString,CString>) ?
3)come gestireste la situazione di un array che dovrebbe essere di tipo generico?
grazie.