Quel est le but du typename en C ?
Lorsque vous travaillez avec des modèles, il est possible de rencontrer des messages d'erreur déroutants du compilateur C, gcc. En particulier, des déclarations correctes peuvent provoquer des erreurs de compilation bizarres qui disparaissent lorsque le mot-clé typename est appliqué. Pour clarifier ce problème, il est crucial de comprendre le rôle du typename.
Selon "The C Standard Library" de Nicolai M. Josuttis, typename précise que l'identifiant suivant est un type. Prenons l'exemple suivant :
template <class T> Class MyClass { typename T::SubType * ptr; ... };
Dans cet exemple, typename précise que SubType est un type de classe T. Par conséquent, ptr est un pointeur vers le type T::SubType. Sans nom de type, SubType serait interprété comme un membre statique, faisant de T::SubType * ptr une multiplication de la valeur SubType de type T avec ptr.
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!