Possible Duplicate:
What is an undefined reference/unresolved external symbol error and how do I fix it?
I have some experience with Java, and am now doing a C++ course. I wanted to try writing an interface, but I have run into some trouble with destructors which I have not been able to resolve, even with the help on the Internet... Here's my code:
    class Force {      public:      virtual ~Force();     virtual VECTOR eval(VECTOR x, double t);  };  class InvSquare : public Force {      public:      InvSquare(double A) {          c = A;      }      ~InvSquare(){};      VECTOR eval(VECTOR x, double t) { // omitted stuff }      private:     double c;  };   I have tried to declare a virtual destructor for the base class, and a non-virtual one for the derived class, but I get an error saying "undefined reference to `Force::~Force()'". What does it mean, and how can I fix it?
Forgive me if this is a silly question!
Thank you very much for your help, noctilux
You've declared the destructor, but not defined it. Change the declaration to:
virtual ~Force() {}   to define it to do nothing.
You also want to make all the functions in the abstract interface pure virtual, otherwise they will need to be defined too:
virtual VECTOR eval(VECTOR x, double t) = 0; 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With