Étant donné un prototype de fonction, et une définition de type:Une simple question sur la contrainte de type en C++
int my_function(unsigned short x);
typedef unsigned short blatherskite;
est la situation suivante définie par la norme:
int main(int argc, char** argv) {
int result;
blatherskite b;
b=3;
result = my_function(b);
}
Est-ce que je reçois la contrainte de type prévisible par le prototype de fonction?
Assez simple pour compiler et essayer je pense. Je crois que cela fonctionnera bien. –
Seule la coercition (c'est-à-dire la conversion implicite) se produit sur la ligne 'b = 3'; 3 est un littéral de type int, converti en un short non signé pour l'assignation. Il suffit de laisser tomber la ligne pour que les gens ne soient pas troublés par cette question qui ne concerne pas la coercition mais plutôt le comportement de «typedef». –