編譯器警告 (層級 1) C4744
'var' 在 'file1' 和 'file2' 中有不同的類型:'type1' 和 'type2'
在兩個檔案中參考或定義的外部變數在這些檔案中有不同的類型。 若要解析,請將類型定義設為相同,或變更其中一個檔案中的變數名稱。
只有在使用 /GL 編譯檔案時,才會發出 C4744。 如需詳細資訊,請參閱 /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);
}