Udostępnij za pośrednictwem


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