Avviso del compilatore (livello 1) C4744
'var' ha un tipo diverso in 'file1' e 'file2': 'type1' e 'type2'
Una variabile esterna a cui si fa riferimento o definita in due file ha tipi diversi in tali file. Per risolvere il problema, rendere le definizioni dei tipi uguali o modificare il nome della variabile in uno dei file.
C4744 viene generato solo quando i file vengono compilati con /GL. Per altre informazioni, vedere /GL (Ottimizzazione intero programma).
Nota
C4744 si verifica in genere nei file C (non C++), perché in C++ un nome di variabile è decorato con informazioni sul tipo. Quando l'esempio (riportato di seguito) viene compilato come C++, verrà visualizzato l'errore del linker LNK2019.
Esempi
Questo esempio contiene la prima definizione.
// C4744.c
// compile with: /c /GL
int global;
L'esempio seguente genera l'errore C4744.
// C4744b.c
// compile with: C4744.c /GL /W1
// C4744 expected
#include <stdio.h>
extern unsigned global;
main()
{
printf_s("%d\n", global);
}