Поделиться через


Предупреждение компилятора (уровень 1) C4744

"var" имеет другой тип в "file1" и "file2": "type1" и "type2"

Внешняя переменная, на которая ссылается или определена в двух файлах, имеет разные типы в этих файлах. Чтобы устранить проблему, сделайте определение типа одинаковым или измените имя переменной в одном из файлов.

C4744 создается только в том случае, если файлы компилируются с помощью /GL. Дополнительные сведения см. в разделе /GL (оптимизация всей программы).

Примечание.

C4744 обычно встречается в файлах C (не C++), так как в C++ имя переменной украшено сведениями о типе. Когда пример (ниже) компилируется как C++, вы получите ошибку компоновщика LNK2019.

Примеры

Этот пример содержит первое определение.

// C4744.c
// compile with: /c /GL
int global;

Следующий пример приводит к возникновению ошибки C4744.

// C4744b.c
// compile with: C4744.c /GL /W1
// C4744 expected
#include <stdio.h>

extern unsigned global;

main()
{
    printf_s("%d\n", global);
}