Compartir a través de


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);
}