[linux-audio-dev] A C++ question
    Niels A. Moseley 
    n.a.moseley at student.utwente.nl
       
    Fri Apr 18 07:27:01 UTC 2003
    
    
  
Hi,
>Another, is when I am linking, it complains about the vtable and won't
>compile. This error leaves me baffled because usually the class compiled
>and ran before without any problems, and I didn't change it at all.
>
>class thisFooWillNotCompile
>{
>public:
>
>	virtual void thisFooMakesMeAngry() = 0;
>};
>
>class thisFooIsNoGood : public thisFooWillNotCompile
>{
>public:
>
>   void thisFooMakesMeAngry() { printf("I will not link I will say
>vtable blah blah blah and die..\n"); }
>};
>
>
>Sorry I am vague but, if I knew why this was happening, I would be an
>advanced C++ programmer.One of them appears to be an error in my code,
>but the way it manifests itself is weird.
You always need a virtual destructor in the class if you do inhertance.
Otherwise upon destruction of the derived class, the baseclass destructor
will not be called.
Cheers,
Niels.
so:
class thisFooWillNotCompile
{
public:
	virtual ~thisFooWillNotCompile();	// ADD THIS!
	virtual void thisFooMakesMeAngry() = 0;
};
class thisFooIsNoGood : public thisFooWillNotCompile
{
public:
   virtual ~thisFooIsNoGood();	// ADD THIS!
   void thisFooMakesMeAngry() { printf("I will not link I will say vtable
blah blah blah and die..\n"); }
};
    
    
More information about the Linux-audio-dev
mailing list