Como implementar o método de classificação para uma fila de prioridade c ++ com ponteiros

Minha fila de prioridade declarada como:

std::priority_queue<*MyClass> queue;

class MyClass {
    bool operator<( const MyClass* m ) const;
}

não está classificando os itens na fil

O que está errado? Eu não gostaria de implementar uma classe diferente (comparar).

esumo da resposta:

O problema é que os endereços dos ponteiros são classificados. A única maneira de evitar isso é uma classe que 'compara os ponteiros'.

gora implementado como:

std::priority_queue<*MyClass, vector<*MyClass>, MyClass::CompStr > queue;

class MyClass {
    struct CompStr {
        bool operator()(MyClass* m1, MyClass* m2);
    }
}

questionAnswers(8)

yourAnswerToTheQuestion