m_options is an instance of VNCOptions that has virtual functions, memcpy can damage VTable. I do not see any derived class, so virtual can be removed from destrcuctor. Inserting a copy constructor is always the better solution-