Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » Wieso "non-class type SVG_color()"?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
05.04.2014, 01:00 Uhr
Yadgar



Hi(gh)!

Meine neu programmierte Klasse für Farbwert-Tripel sieht so aus:


C++:
class SVG_color
{
  private:
    short red;
    short green;
    short blue;
  public:
    SVG_color(short, short, short);
    void set (short, short, short);
};

SVG_color::SVG_color(short r=0, short g=0, short b=0)
{
  red = r;
  green = g;
  blue = b;
}

void SVG_color::set(short r=0, short g=0, short b=0)
{
  red = r;
  green = g;
  blue = b;
}



mit einem Konstruktor und einer Methode für nachträgliche Zuweisungen von Werten.

Wenn ich aber die Methode aufrufe (natürlich nach vorheriger Initialisierung einer Instanz von SVG_color!):


C++:
  SVG_color fill(); // schwarz
  fill.set(255); // rot
  fill.set(255, 255); // gelb
  fill.set(0, 128, 255); // himmelblau  



bekomme ich folgende Fehlermeldungen:


Code:
yadgar@debian:/media/Raytracing/Povscn/Flags/Coats of Arms$ g++ -std=c++11 flagmaker.cc -o flagmaker
flagmaker.cc: In function ‘int main(int, char**)’:
flagmaker.cc:56:8: error: request for member ‘set’ in ‘fill’, which is of non-class type ‘SVG_color()’
flagmaker.cc:57:8: error: request for member ‘set’ in ‘fill’, which is of non-class type ‘SVG_color()’
flagmaker.cc:58:8: error: request for member ‘set’ in ‘fill’, which is of non-class type ‘SVG_color()’



Hätte ich set vielleicht inline definieren sollen? Wenn ja, warum?

Bis bald im Khyberspace!

Yadgar
--
Flagmaker - ein Programmier-Blog
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.04.2014, 09:02 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



C++:
SVG_color fill; // <-- ohne klammern, sonst ist das keine variablendeklaration


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: