ne pouvait pas déduire argument de modèle pour "T"
Mon code est :
std::vector<double> Vec;
template<typename T>
void GetObj(VARIANT &vtProp)
{
CComSafeArray<T> SafeArray;
SafeArray.Attach(vtProp.parray);
ULONG Count = SafeArray.GetCount();
Vec.resize(Count);
for(ULONG Index = 0; Index < Count; Index++)
{
Vec[Index] = SafeArray[Index];
}
}
tandis que la compilation j'ai l'erreur ci-dessous:
error C2783: 'void __cdecl GetObj(struct tagVARIANT &)' : could not deduce template argument for 'T'
De bien vouloir me suggérer la réponse correcte
- Vous devez appeler la fonction comme ceci:
GetObj<TheActualType>(arg);
.
Vous devez vous connecter pour publier un commentaire.
Il n'y a rien dans le modèle de fonction de signature qui permet au compilateur de déduire le type de modèle, si vous avez besoin d'être explicite: