0
我正在研究一個完全爲LLVM GCC編譯器編譯的應用程序(包含3個項目,2個在C++中,另一個在Objective-C中)。但是,當我切換編譯器「蘋果LLVM編譯器3.0」我發現一個奇怪的錯誤如下:Apple LLVM 3.0中的模板和前向聲明
error: implicit instantiation of undefined template 'EList<ETemplateString<char>>'
和上面的錯誤表現在以下幾行代碼:
EList<EString> outlist;
與正向聲明的EList如下:
template <class T> class EList; // forward decls
爲EString聲明如下:
typedef ETemplateString<TCHAR> EString;
和休息使用的模板被定義爲:
template <class T> class ETemplateString
{
//
//
//
}
和TCHAR聲明爲:
typedef char TCHAR;
任何人可以請讓我知道爲什麼它編譯好與海灣合作委員會,並引發錯誤的「 Apple LLVM編譯器3.0'