Avatar ·

Erreur "Undefined reference to vtable" en C++ : causes et solution

Bonjour ! J'écris un petit projet en C++ utilisant le polymorphisme. J'ai une classe de base abstraite `Shape` et plusieurs classes dérivées : `Circle`, `Rectangle`. Dans la classe de base, une fonction virtuelle `area()` est déclarée. Quand j'essaie de compiler le projet avec g++, le compilateur renvoie l'erreur : ``` undefined reference to 'vtable for Shape' ``` Voici le code simplifié : shape.h : ```cpp #ifndef SHAPE_H #define SHAPE_H class Shape { public: virtual double area() = 0; // fonction virtuelle pure virtual ~Shape() {} }; #endif ``` circle.h : ```cpp #include "shape.h" class Circle : public Shape { public: Circle(double r); double area() override; private: double radius; }; ``` circle.cpp : ```cpp #include "circle.h" Circle::Circ