Ostrzeżenie kompilatora (poziom 1) C4744
"var" ma inny typ w "file1" i "file2": "type1" i "type2"
Zmienna zewnętrzna, do których odwołuje się odwołanie lub zdefiniowana w dwóch plikach, ma różne typy w tych plikach. Aby rozwiązać ten problem, wprowadź definicje typów tak samo lub zmień nazwę zmiennej w jednym z plików.
C4744 jest emitowany tylko wtedy, gdy pliki są kompilowane z /GL. Aby uzyskać więcej informacji, zobacz /GL (Optymalizacja całego programu).
Uwaga
C4744 zwykle występuje w plikach C (nie C++), ponieważ w języku C++ nazwa zmiennej jest ozdobiona informacjami o typie. Gdy przykład (poniżej) jest kompilowany jako C++, zostanie wyświetlony błąd konsolidatora LNK2019.
Przykłady
Ten przykład zawiera pierwszą definicję.
// C4744.c
// compile with: /c /GL
int global;
Poniższy przykład generuje C4744.
// C4744b.c
// compile with: C4744.c /GL /W1
// C4744 expected
#include <stdio.h>
extern unsigned global;
main()
{
printf_s("%d\n", global);
}