コンパイラの警告 (レベル 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);
}