Condividi tramite


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