Cómo implementar el método de clasificación para una cola_c ++ con punteros

Mi cola de prioridad declarada como:

std::priority_queue<*MyClass> queue;

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

no está ordenando los elementos en la cola.

¿Qué está mal? No me gustaría implementar una clase diferente (Comparar).

Resumen de la respuesta:

El problema es que las direcciones de puntero están ordenadas. La única forma de evitar esto es una clase que 'compara los punteros'.

Now implementado como:

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

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

Respuestas a la pregunta(8)

Su respuesta a la pregunta