Impossible de déduire T du modèle
Dans le code fourni, une erreur se produit lors de la tentative de déduction du modèle argument T pour la fonction de test. Pour comprendre pourquoi, il est crucial d'approfondir le concept de « contexte non déductible ».
Dans la définition du modèle de TMap, vous définissez un alias appelé Type comme étant un std::map
Considérez le scénario suivant : si TMap avait une spécialisation pour SomeType où Type est défini comme std::map< ;double, double>, comment le compilateur déterminerait-il le type SomeType en se basant uniquement sur la connaissance que TMap
De plus, si une autre spécialisation de TMap existe pour OtherType où le Type est à nouveau std::map
Il est important de se rappeler que le compilateur ne peut pas faire d'hypothèses sur la relation. entre les arguments de type utilisés dans la définition du modèle. Par conséquent, dans de tels contextes non déductibles, le compilateur ne peut pas déduire automatiquement l'argument du modèle T.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!