我正在开发一个应用程序(包含3个项目,2个用c ++编写,1个用于Objective-C),它们完美地编译了LLVM GCC编译器。但是当我将编译器切换到'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;
任何人都可以告诉我为什么它与GCC编译良好并在'Apple LLVM编译器3.0'中抛出错误