Avatar ·

C++ में "Undefined reference to vtable" त्रुटि: कारण और समाधान

नमस्ते! मैं polymorphism का उपयोग करके C++ में एक छोटा प्रोजेक्ट लिख रहा हूँ। मेरे पास एक abstract base class `Shape` और कई derived classes हैं: `Circle`, `Rectangle`। Base class में एक virtual function `area()` घोषित है। जब मैं g++ के साथ प्रोजेक्ट को compile करने का प्रयास करता हूँ, तो compiler यह error देता है:\n\n```\nundefined reference to 'vtable for Shape'\n```\n\nयहाँ सरलीकृत कोड है:\n\nshape.h:\n```cpp\n#ifndef SHAPE_H\n#define SHAPE_H\n\nclass Shape {\npublic:\n virtual double area() = 0; // pure virtual function\n virtual ~Shape() {}\n};\n\n#endif\n```\n\ncircle.h:\n```cpp\n#include "shape.h"\nclass Circle : public Shape {\npublic:\n Circle(double r);\n double area() override;\nprivate:\n double radius;\n};\n```\n\ncircle.cpp:\n```cpp\n#include "circle.h"\nCircle::Circ

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग