/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Class Constructor spørgsmål
Fra : Ukendt


Dato : 24-12-04 23:42

Hvis jeg har disse to filer og compiler det(self med en fin main()
funktion) får jeg følgende fejl:

function body for constructor missing
In constructor `EXCEPTION::EXCEPTION(const std::string&,
int)':
parse error before `;' token

hvis jeg erstatter funktions headeren med EXCEPTION(const std::string
&msg = "", const int id = 0) : std::logic_error(msg) {} og ikke bruger
exception.cpp virker det fint.

Jeg bruger Mingw som compiler.

Hvad er grunden til at jeg ikke kan definere funktions kroppen i den
anden fil. Jeg har en klasse i samme filer der dog ikke arver fra en
anden klasse som ikke giver nogen fejl.

Jeg håber mit spørgsmål giver mening.
Mvh Frederik Sørensen

------------- exception.h ----------------

#ifndef GUARD_exception_h
   #define GUARD_exception_h

#ifdef WIN32
   #include <windows.h>
#endif
#include <stdexcept>

class EXCEPTION : public std::logic_error
{
   public:
      EXCEPTION(const std::string &msg = "", const int id = 0) :
std::logic_error(msg) ;
};

#endif

-------------------------------------------


------------------ exception.cpp ----------
#include "exception.h"

EXCEPTION::EXCEPTION(const std::string &msg = "", const int id = 0) :
std::logic_error(msg)
{
   
}
-------------------------------------------

 
 
Ukendt (25-12-2004)
Kommentar
Fra : Ukendt


Dato : 25-12-04 04:04

Ja det er selvfølgelig fordi man ikke definere andet end funktions
headeren i ens .h fil.

initialiserings ting skal selvfølgelig sammen med funktions kroppen.

Godt at man kan se ens egne fejl :P

Mvh Frederik Sørensen

Søg
Reklame
Statistik
Spørgsmål : 177438
Tips : 31962
Nyheder : 719565
Indlæg : 6408046
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste