Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Forwarddeklaration

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
31.08.2003, 22:10 Uhr
~uwissender
Gast


Hallo, ihc habe Problem mit der Forwarddeklaration, da muss ein Fehler sein, aber ich sehr nicht wo der ist.
Könnt ihr mir helfen? Danke.


C++:
#include <iostream>
#include <exception>
#include <string>
using namespace std;

class BigInt {
    private:
        string value;
    
    private:
        class IlligalDigit;
        string& testBigInt() throw(IlligalDigit) const;
    
    public:
        class IlligalDigit : exception {
        };
        
        BigInt();
        BigInt(const string &);
        BigInt(const BigInt &);
        BigInt& operator=(const BigInt &);
        BigInt& operator+=(const BigInt &);
        BigInt& operator-=(const BigInt &);
        friend ostream& operator<<(ostream &out, const BigInt &);
        //...    
};



--edit: pablo. Smilies entfernt --

Dieser Post wurde am 31.08.2003 um 23:10 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.09.2003, 00:46 Uhr
virtual
Sexiest Bit alive
(Operator)


Mit einer Forwarddeklaration allein kannst Du die Klasse nicht in den throw Specifier aufnehmen. Das ist nicht erlaubt.
Außerdem würde ich es besser IllegalDigit nennen.
Schließlich solltest Du besser public von exception ableiten
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.09.2003, 11:04 Uhr
~unwissender
Gast


Ja klar, public wollte ich ich nehmen, war nur so auf die Schnelle, aber danke und Illegal it auch besser als Illigal.
Aber wie mache ich das dann mit dem Forwarden?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
01.09.2003, 11:15 Uhr
virtual
Sexiest Bit alive
(Operator)


Einfach umstellen: Das IllegalDigit deklaraieren, bevors gebraucht wird.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.09.2003, 12:08 Uhr
~unwissender
Gast


Ja, hatte ich auch schon gemacht, aber wofür ist die Forwarddeklaration überhaupt gut, ich dachte genau für diese Fälle?
Ich glaube, ich habe das was nicht ganz verstanden...

Korregierter Code:


C++:
#include <iostream>
#include <exception>
#include <string>
using namespace std;

class BigInt {
    private:
        string value;
      
    public:
        class IllegalDigit : public exception {
        };
        
        BigInt();
        BigInt(int);
        BigInt(const string &);
        BigInt(const BigInt &);
        BigInt& operator=(const BigInt &);
        BigInt& operator+=(const BigInt &);
        BigInt& operator-=(const BigInt &);
        friend ostream& operator<<(ostream &out, const BigInt &);
        
   private:        
        string& testBigInt() const throw(IllegalDigit);      
};

 
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: