Advertencia del compilador (nivel 1) C4744
"var" tiene un tipo diferente en "file1" y "file2": "type1" y "type2"
Una variable externa a la que se hace referencia o se define en dos archivos tiene tipos distintos en esos archivos. Para resolver esta advertencia, haga que las definiciones de tipo sean iguales o cambie el nombre de variable en uno de los archivos.
C4744 solo se emite cuando los archivos se compilan con /GL. Para obtener más información, consulte /GL (Optimización de todo el programa).
Nota:
Por lo general, C4744 se produce en archivos de C (no C++) porque, en C++, un nombre de variable está decorado con información de tipos. Cuando el ejemplo (siguiente) se compile como C++, obtendrá el error del enlazador LNK2019.
Ejemplos
Este ejemplo contiene la primera definición.
// C4744.c
// compile with: /c /GL
int global;
El ejemplo siguiente genera la advertencia C4744.
// C4744b.c
// compile with: C4744.c /GL /W1
// C4744 expected
#include <stdio.h>
extern unsigned global;
main()
{
printf_s("%d\n", global);
}