用wizard生成的MFC console項目,在一個自定義類的文件(A.cpp)中,爲何將stdafx.h置於自定義類頭文件(A.h)後就會產生一大串的編譯錯誤,甚至包括A類未定義等,而將stdafx.h置前就沒問題了,順序怎麼會產生這樣的結果?
因爲會忽略stdafx.h之前包含的頭文件。 see 'PCH' in msdn
只要有可能,就不要在頭文件中包含頭文件。這是最最基本的原則。
stdafx.h包含所有需要支持的頭文件,必須放在最前面.
用wizard生成的MFC console項目,在一個自定義類的文件(A.cpp)中,爲何將stdafx.h置於自定義類頭文件(A.h)後就會產生一大串的編譯錯誤,甚至包括A類未定義等,而將stdafx.h置前就沒問題了,順序怎麼會產生這樣的結果?
因爲會忽略stdafx.h之前包含的頭文件。 see 'PCH' in msdn
只要有可能,就不要在頭文件中包含頭文件。這是最最基本的原則。
stdafx.h包含所有需要支持的頭文件,必須放在最前面.