Avertissement du compilateur (niveau 1) C4744
'var' a un type différent dans 'file1' et 'file2' : 'type1' et 'type2'
Une variable externe référencée ou définie dans deux fichiers a des types différents dans ces fichiers. Pour résoudre ce problème, effectuez les définitions de type identiques ou modifiez le nom de la variable dans l’un des fichiers.
C4744 est émis uniquement lorsque les fichiers sont compilés avec /GL. Pour plus d’informations, consultez l’article /GL (Optimisation de l’ensemble du programme).
Remarque
C4744 se produit généralement dans les fichiers C (et non C++), car en C++ un nom de variable est décoré avec des informations de type. Lorsque l’exemple (ci-dessous) est compilé en tant que C++, vous obtenez l’erreur de l’éditeur de liens LNK2019.
Exemples
Cet exemple contient la première définition.
// C4744.c
// compile with: /c /GL
int global;
L’exemple suivant génère l’erreur C4744.
// C4744b.c
// compile with: C4744.c /GL /W1
// C4744 expected
#include <stdio.h>
extern unsigned global;
main()
{
printf_s("%d\n", global);
}