用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包含所有需要支持的头文件,必须放在最前面.