コンパイラの警告 (レベル 1) C4744

'var' の型が 'file1' と 'file2' で異なります: 'type1' と 'type2'

2 つのファイルで参照または定義されている外部変数の型が、それらのファイル内で異なっています。 解決するには、型定義を同じにするか、どちらかのファイルで変数名を変更します。

C4744 は、/GL を指定してファイルをコンパイルした場合にのみ発生します。 詳細については、「/GL (プログラム全体の最適化)」を参照してください。

Note

C++ では変数名が型情報で装飾されるため、C4744 は通常、(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);
}