Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

matthias

Alter Hase

  • »matthias« ist der Autor dieses Themas

Beiträge: 449

Wohnort: wipperfürth

  • Private Nachricht senden

1

24.02.2007, 13:02

std::set und < operator

Ich will ein std::set benutzen, bekomme aber einen Fehler:

Fehler:

Zitat

Fehler 1 error C2678: Binärer Operator '<': Es konnte kein Operator gefunden werden, der einen linksseitigen Operanden vom Typ 'const Test' akzeptiert (oder keine geeignete Konvertierung möglich) c:\programme\microsoft visual studio 8\vc\include\functional 143


Test.h

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
#pragma once

class Test
{
public:
        double t;
    double z;

    bool Test::operator< (const Test &c);
    bool Test::operator== (const Test &c);
};


Test.cpp

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
#include "Test.h"

bool Test::operator< (const Test &c)
{
    return z < c.z;
}

bool Test::operator== (const Test &c)
{
    return z == c.z;
}
"In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Aplha Centauri."

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

2

24.02.2007, 13:04

versuch mal

C-/C++-Quelltext

1
friend bool operator < (const Test&, const Test&)

Ich denke in deiner header datei hast du das message vergessen durch test zu ersetzen?=

matthias

Alter Hase

  • »matthias« ist der Autor dieses Themas

Beiträge: 449

Wohnort: wipperfürth

  • Private Nachricht senden

3

24.02.2007, 13:15

hey danke, das funktioniert :)

genau, hab die klasse vereinfacht...
"In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Aplha Centauri."

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

4

24.02.2007, 13:48

freut mich wenn ich helfen konnte ;)

rklaffehn

Treue Seele

Beiträge: 267

Wohnort: Braunschweig

  • Private Nachricht senden

5

24.02.2007, 23:32

C-/C++-Quelltext

1
2
3
class Test {
  bool operator < (const Test& right) const;
};


geht auch. Bin halt kein Freund von "friend." :)

Gruss,
Rainer
God is real... unless declared integer.
http://www.boincstats.com/signature/user_967277_banner.gif

Werbeanzeige