СObject::Compare, сравнение типов и call non-const method for const object

 

Наследуюсь от CObject и переопределяю метод Compare

int CAdoValue::Compare(const CObject* node, int mode = 0)
{
   if (node.Type() != this.Type()) 
      return 0;
}

 Получаю ошибку компиляции

'Type' - call non-const method for const object

 То есть я хочу убедиться, что сравниваемые объекты имеют одинаковый тип, но не могу. Пока пользуюсь следующим велосипедом, но не уверен будет ли он работать :)

CAdoValue* rhs = node;
if (CheckPointer(rhs) == POINTER_INVALID)
    return 0;

 Вообщем хочу узнать как это проверить.

И да, в справке CObject::Compare во входных переменных перепутаны const и CObject

 

Спасибо за замечание. Библиотеку классов будем править.

Причина обращения: