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 —