Freigeben über


Compilerwarnung (Ebene 1) C4744

"var" weist in 'file1' und 'file2' unterschiedliche Typen auf: 'type1' und 'type2'

Eine externe Variable, auf die in zwei Dateien verwiesen oder definiert ist, weist unterschiedliche Typen in diesen Dateien auf. Um dies zu beheben, nehmen Sie entweder die Typdefinitionen gleich, oder ändern Sie den Variablennamen in einer der Dateien.

C4744 wird nur ausgegeben, wenn Dateien mit /GL kompiliert werden. Weitere Informationen finden Sie unter /GL (Optimierung des ganzen Programms).

Hinweis

C4744 tritt in der Regel in C-Dateien (nicht in C++) auf, da in C++ ein Variablenname mit Typinformationen versehen ist. Wenn das Beispiel (unten) als C++ kompiliert wird, wird der Linkerfehler LNK2019 angezeigt.

Beispiele

Dieses Beispiel enthält die erste Definition.

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

Im folgenden Beispiel wird C4744 generiert.

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

extern unsigned global;

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