Поделиться через


Ошибка компилятора C3240

"function" : должен быть не перегруженной абстрактной функцией-членом типа

Замечания

Базовый тип содержал функцию, определяемую. Функция должна быть виртуальной.

Пример

В следующем примере создается C3240.

// C3240.cpp
// compile with: /c
__interface I {
   void f();
};

struct A1 : I {
   void f() {}
};

struct A2 : I {
   void f() = 0;
};

template <class T>
struct A3 : T {
   void T::f() {}
};

template <class T>
struct A4 : T {
   void T::f() {}
};

A3<A1> x;   // C3240
A3<I> x2;
A4<A2> x3;