Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Was stimmt an dem constructor nicht??

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
17.10.2006, 16:22 Uhr
Karldin Shinowa
Professional Noob


Hab ne Klasse:


C++:
#ifndef FILE_H
#define FILE_H

#include<string>
#include<fstream>
#include<sstream>


class File
{
   protected:
     std::fstream file;
     std::string name;
     bool isOpen;

   public:
      enum position{begin,end};
      
      
      File(std::string name)
        
      {
         this->name=name;
         isOpen=false;
      }
      
      virtual void open();
      virtual void close();

      virtual bool isEmpty();
};

#endif



Jetzt erbe ich von der:

C++:
#ifndef LOGFILEW_H
#define LOGFILEW_H

#include"File.h"

class LogFileW:public File
{
   public:
      LogFileW(std::string name);
    
      void open();
      void close();

      void empty();
      bool isEmpty();

      void newEntry(std::string entry);
      void putEmptyLine();
}

#endif



und mache den Konstruktor


C++:

#include"LogFileW.h"

LogFileW::LogFileW(std::string name)
   :File(name)//<------'LogFileW::{ctor}': Ergebnistyp für Konstruktoren nicht zulässig
{}



Was heißt das???
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.

Dieser Post wurde am 17.10.2006 um 16:25 Uhr von Karldin Shinowa editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.10.2006, 16:56 Uhr
Tommix



Hallo,
in LogFileW.h fehlt das abschließende Semikolon.

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
17.10.2006, 17:19 Uhr
Karldin Shinowa
Professional Noob


Warum kann er das nicht gleich sagen.....
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.10.2006, 13:19 Uhr
Pler
Einer von Vielen
(Operator)


Tja. Der g++ hätte ne Vernünftige Fehlermeldung ausgegeben ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.10.2006, 13:24 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


LogFileW klingt so nach "Wide"-Version von LogFile.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.10.2006, 17:28 Uhr
0xdeadbeef
Gott
(Operator)


Jaa, moment, die Fehlermeldung macht schon Sinn. Was für den Compiler da steht, ist ja

C++:
class LogFileW : public File { ... } LogFileW::LogFileW(std::string name) : File(name) { }


...was der als inline-Deklaration in der Art

C++:
struct foo { int bar; } baz() { }


versteht. Und da Konstruktoren wie LogFileW::LogFileW keinen Rückgabetyp haben, macht die Fehlermeldung so gesehen Sinn.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


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: