0

I am working on an application(contains 3 projects, 2 in c++ and one in Objective-C) which compiles perfectly for LLVM GCC compiler. But when I switch the compiler to 'Apple LLVM compiler 3.0' I found one strange error as follow:

error: implicit instantiation of undefined template 'EList<ETemplateString<char>>'

and above error shows in the following line of code:

   EList<EString> outlist;

with the forward declared EList as follows:

template <class T> class EList; // forward decls

EString is declared as follow:

typedef ETemplateString<TCHAR>         EString;

and rest of the used templates are defined as:

template <class T> class ETemplateString
{
//
//
//
}

and TCHAR is declared as:

typedef char TCHAR;

can anybody please let me know why it's compiling good with GCC and throwing errors in 'Apple LLVM compiler 3.0'

Dan D.
  • 73,243
  • 15
  • 104
  • 123
UPT
  • 1,490
  • 9
  • 25

1 Answers1

1

See http://clang.llvm.org/compatibility.html#undep_incomplete .

servn
  • 3,049
  • 14
  • 8