Comment puis-je insérer d'objets dans les STL ensemble

J'essaie d'insérer un objet Point2D dans un Point2D ensemble, mais je ne suis pas capable de le faire, il semble que le jeu fonctionne pour les int et char, mais pas pour les objets.

J'ai besoin d'aide pour savoir comment insérer des objets dans le jeu ??? En supposant que je veux les trier par ordre croissant de la valeur de x

class Point2D
{
public:
    Point2D(int,int);
    int getX();
    int getY();

    void setX(int);
    void setY(int);

    double getScalarValue();

protected:
    int x;
    int y;
    double distFrOrigin;
    void setDistFrOrigin();
};


int main()
{
    Point2D abc(2,3);

    set<Point2D> P2D;
    P2D.insert(abc); //i am getting error here, i don't know why
}
  • Vous avez besoin d'écrire operator< pour Point2D
  • pouvez-vous élaborer davantage , désolé, je suis tout à fait novice en c++
  • Un ensemble est triée. Si il ne peut pas trier vos objets, vous ne pouvez pas les mettre dans un ensemble. Le tri est effectué à l'aide de operator< ou un utilisateur spécifié prédicat.
  • La prochaine fois, veuillez fournir les messages d'erreur que vous obtenez.
InformationsquelleAutor Computernerd | 2013-11-09