Hallo,
ich habe mit folgendem Code Probleme:(Ich verwende GNU/Linux und g++/gcc)
EineKlasse array(int key = 0, ...)
{
EineKlasse tmp;
// ...
// ein wenig mehr code
// ...
return tmp;
}
// irgendwo anders im Programm:
array(0, "lol", "hans", "peter", "selfhtml", "wastl");
Das wird dann mit g++ compiliert mit folgender Meldung für jeden Aufruf dieser Funktion:
[DATEI]:[ZEILENNUMMER]: Warnung: Objekte des Nicht-POD-Typs »class EineKlasse« können nicht über »...« übergeben werden; Aufruf wird zur Laufzeit abbrechen
Was ist falsch?
Der Code ist übrigens nicht von mir. Ich habe zuvor nicht einmal gewusst das solche Konstruktionen möglich sein sollen.
Ich hätte da noch ein Problem:
ostream &operator<<( ostream &out, const EineKlasse &var )
{
// ...
// wieder ein wenig code hauptsächlich if's
// ...
}
// und in der EineKlasse habe noch folgende Zeile gefunden:
friend ostream &operator<<( ostream &out, const php_var &var );
Hier erhalte ich folgende Meldung:
[DATEI]: In function »std::ostream& operator<<(std::ostream&, const EineKlasse&)«:
[DATEI]:[ZEILENNUMMER]: Warnung: Kontrollfluss erreicht Ende einer Nicht-void-Funktion
es fehlt also möglicherweise ein return?!
Nur was soll denn hier zurückgegeben werden?
ostream ist mir nicht geläufig.
Grüße wastl