Listing 1: VC++ 6 template bug
#include <stdio.h> class I { }; class C1 : public I { public: C1() { printf("C1\n"); } }; class C2 : public I { public: C2() { printf("C2\n"); } }; template<class C> I *create() { return new C(); } int main() { create<C1>(); return 0; create<C2>(); } End of Listing