Benutzerdefinierte Suche

Konstruktor/Destruktor C++

  1. tconz

    tconz Thread StarterMacUser Mitglied

    Mitglied seit:
    21.02.2005
    Beiträge:
    151
    Zustimmungen:
    0
    Hi,
    hoffe es kann mir einer Helfen, mach jetzt seit einer Stunde dran rum:
    Warum geht mein Kon/Destruktor nicht?

    HEAD:

    #include <Carbon/Carbon.h>
    #include "Temperature.h"

    class TemperatureField
    {
    private:
    int validCount;
    public:
    Temperature* tempArray[100];
    TemperatureField(int count);
    ~TemperatureField();
    }

    CPP

    #include "TemperatureField.h"

    TemperatureField::TemperatureField(int count)
    {

    }
    TemperatureField::~TemperatureField()
    {

    }


    Fehlermeldung:
    ISO C++ forbides defining types within return type

    Thanx Tobi
     
    tconz, 23.10.2005
  2. dannycool

    dannycoolMacUser Mitglied

    Mitglied seit:
    02.02.2005
    Beiträge:
    1.489
    Zustimmungen:
    34
    Ich glaub Dir fehlt ein ; am Ende des .h.
     
    dannycool, 23.10.2005
  3. autoexec.bat

    autoexec.batMacUser Mitglied

    Mitglied seit:
    21.01.2005
    Beiträge:
    2.113
    Zustimmungen:
    20
    Du musst die Klasse mit einem Semikolon abschließen.

    class TemperatureField
    {
    private:
    int validCount;
    public:
    Temperature* tempArray[100];
    TemperatureField(int count);
    ~TemperatureField();
    };
     
    autoexec.bat, 23.10.2005
  4. tconz

    tconz Thread StarterMacUser Mitglied

    Mitglied seit:
    21.02.2005
    Beiträge:
    151
    Zustimmungen:
    0
    hi,
    danke für die schnellen und richtigen Antworten.

    Gibt es für C++ nicht sowas wie für Java in Eclipse, der solche Fehler anzeigt?

    Thx Tobi
     
    tconz, 23.10.2005
  5. dannycool

    dannycoolMacUser Mitglied

    Mitglied seit:
    02.02.2005
    Beiträge:
    1.489
    Zustimmungen:
    34
    Der C++-Compiler hat es doch angezeigt. :D Wenn etwas mit dem Rückgabetyp bei einer Funktion ist, die keinen hat, dann ist das Problem meistens direkt davor zu suchen ;)

    Die diversen *lint sind eher dafür geeignet, Fehler zu finden, die der Compiler durchgehen lässt.

    Ist das Eclipse CDT vielleicht inzwischen so weit, dass es das kann? Ich hab lang nicht geguckt.
     
    dannycool, 23.10.2005
  6. tconz

    tconz Thread StarterMacUser Mitglied

    Mitglied seit:
    21.02.2005
    Beiträge:
    151
    Zustimmungen:
    0
    @dannycool: Nein, leider nicht, oder ich hatte es falsch konfiguriert.


    Gruss Tobi
     
    tconz, 23.10.2005
  7. tconz

    tconz Thread StarterMacUser Mitglied

    Mitglied seit:
    21.02.2005
    Beiträge:
    151
    Zustimmungen:
    0
    Hi, nochmal was ;)
    was bedeutet
    ISO C++ forbides declaration of 'setCelsius' with no typ

    1000 Dank

    Tobi
     
    tconz, 23.10.2005
  8. autoexec.bat

    autoexec.batMacUser Mitglied

    Mitglied seit:
    21.01.2005
    Beiträge:
    2.113
    Zustimmungen:
    20
    Sagt doch schon die Fehlermeldung. Du hast bei setCelsius den Typ vergessen. Also z.B. int setCelsius oder void setCelsius.

    Aber warscheinlich fehlt doch nur irgendwo ein Semikolon. :p
     
    autoexec.bat, 23.10.2005
  9. tconz

    tconz Thread StarterMacUser Mitglied

    Mitglied seit:
    21.02.2005
    Beiträge:
    151
    Zustimmungen:
    0
    Bestimmt, aber wo?
    ...

    public:
    TemperatureField(int count);
    ~TemperatureField();
    void setCelsius(double t, int index);
    double getCelsius(int index);
    };

    UND

    #include "TemperatureField.h"
    TemperatureField::setCelsius(double t, int index)
    {
    // tempArray[index]->setCelsius(index);
    ;
    }
    TemperatureField::getCelsius(int index)
    {

    return t;
    }
     
    tconz, 23.10.2005
  10. Badener

    Badener

    Habe es nicht ausprobiert, würde es aber so schreiben:

    public:
    TemperatureField(int count);
    ~TemperatureField();
    void setCelsius(double t, int index);
    double getCelsius(int index);
    };

    UND

    #include "TemperatureField.h"
    TemperatureField::setCelsius(double t, int index)
    {
    // tempArray[index]->setCelsius(index);
    };
    TemperatureField::getCelsius(int index)
    {

    return t;
    }
     
    Badener, 23.10.2005
Die Seite wird geladen...
Ähnliche Themen - Konstruktor Destruktor C++
  1. Wolfseye
    Antworten:
    16
    Aufrufe:
    352
  2. GeFa
    Antworten:
    9
    Aufrufe:
    604
    Gondomir
    15.08.2016
  3. Saloice
    Antworten:
    4
    Aufrufe:
    578
  4. ZoliTeglas
    Antworten:
    5
    Aufrufe:
    384
    mrthomasd
    13.10.2015