Aviso do compilador (nível 1) C4744
'var' tem tipo diferente em 'file1' e 'file2': 'type1' e 'type2'
Uma variável externa referenciada ou definida em dois arquivos tem tipos diferentes nesses arquivos. Para resolver, faça as definições de tipo da mesma forma ou altere o nome da variável em um dos arquivos.
O C4744 é emitido somente quando os arquivos são compilados com /GL. Para obter mais informações, consulte /GL (otimização de programa inteiro).
Observação
O C4744 geralmente ocorre em arquivos C (não C++), porque em C++ um nome de variável é decorado com informações de tipo. Quando o exemplo (abaixo) for compilado como C++, você receberá um erro de vinculador LNK2019.
Exemplos
Este exemplo contém a primeira definição.
// C4744.c
// compile with: /c /GL
int global;
A seguinte amostra gera C4744.
// C4744b.c
// compile with: C4744.c /GL /W1
// C4744 expected
#include <stdio.h>
extern unsigned global;
main()
{
printf_s("%d\n", global);
}