Partilhar via


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á LNK2019 de erro do vinculador.

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