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

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

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

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