我剛碰到一個條件,我#include一個頭,我遇到編譯錯誤,需要我#包括已包含在原始頭中的頭。在什麼情況下C++頭文件不能傳遞?
頭有以下內容:
#pragma once
#include <atlbase.h>
#include <atlcom.h>
#include "itestobj.h"
extern "C" ITestObj* WINAPI GetTestObj();
然後我得到了一堆ATL相關的編譯錯誤,當我對那個代碼是通過在C++文件atlbase.h
和atlcom.h
除了解決以上標題。
爲什麼通常情況下不包括這些標題?
也許你需要'#include'而不是那些內部文件? –
2013-02-22 03:30:01
錯位預編譯頭文件(stdafx.h)就是這樣一個陷阱。它必須先包含#included。 – 2013-02-22 04:29:59