gcc2.x --> gcc3.x problem



  • Ich habe folgendes Problem beim Umschreiben meines Codes von gcc2.x auf gcc3.x:

    meine Klasse ibfstream soll eine Datei komplett einlesen, und von istream abgeleitet sein. Deklaration:

    #include<iostream>
    #include<stdio.h>
    #include<iosfwd>
    using namespace std;
    
    class ibfstream :  public istream { 
    public:
      ibfstream(char *inputfilename);
      ~ibfstream();
     istringstream *strstr;
    
    private:
    
      int length;
      char *tmpstr;
    };
    

    Mein Konstruktor:

    ibfstream::ibfstream(char *inputfilename){
    ......
    }
    

    gibt dann folgenden Fehler aus:

    test.cpp: In constructor ibfstream::ibfstream(char*)': test.cpp:6: error: no matching function for call tostd::basic_istream<char,
    std::char_traits<char> >::basic_istream(const <anonymous>**)'
    /usr/include/c++/3.3.5/iosfwd:61: error: candidates are:
    std::basic_istream<char, std::char_traits<char> >::basic_istream(const
    std::basic_istream<char, std::char_traits<char> >&)
    /usr/include/c++/3.3.5/istream:105: error:
    std::basic_istream<_CharT,
    _Traits>::basic_istream(std::basic_streambuf<_CharT, _Traits>*) [with _CharT
    = char, _Traits = std::char_traits<char>]

    wiesowieso???
    auch wenn ich meine Variable char *inputfilename const setze funzt es nicht.
    wenn ich public istream weglasse compilierts nur bekomme ich dann später in anderen Datein Probleme wo meine ibfstream-Objekte auf istream-Routinen zugreifen möchten.

    und noch ne Frage:
    was macht ostream::init((*strstr).rdbuf()), also diese init()-Funktion ?

    Jede Hilfe ist sehr willkommen!!!

    <edit>Bitte Code-Tags verwenden!</edit>



  • Dieser Thread wurde von Moderator/in AJ aus dem Forum ANSI C in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten