Hello! I'm trying to build Unreal Engine with Intel Compiler 17.0 but I'm getting quite interesting error. ICC complains about 'incomplete type' in multiple places. These places boil down to the following code snippet:
template <class Base> class B : public Base {}; class A { static B<A> StaticMember; // D'OH! ICC: incomplete type is not allowed };
VC++, gcc and clang compile it while ICC complains about an incomplete type. Why is this the case? What is the reason behind ICC behaviour?