Problem beim Ableiten von std::invalid_argument



  • Hoi!

    Ich moecht eine Fehlerklasse von std::invalid_argument erben lassen. Folgender Code:

    #include <string>
    using std::string;
    
    #include <stdexcept>
    
    class Book::InvalidKeyError : public std::invalid_argument
    {
    	public
    		InvalidKeyError(const string& key) throw(); // Zeile 18
    };
    
    Book::InvalidKeyError::InvalidKeyError(const string& key)
    	: std::invalid_argument(key + " is an invalid element of a book")
    {}
    

    Mein GCC sagt dazu:

    src/Book.cpp:18: parse error before `(' token
    src/Book.cpp:16: base `std::invalid_argument' with only non-default constructor 
       in class without a constructor
    src/Book.cpp:22: prototype for `Book::InvalidKeyError::InvalidKeyError(const 
       std::string&)' does not match any in class `Book::InvalidKeyError'
    src/Book.cpp:16: candidate is: Book::InvalidKeyError::InvalidKeyError(const 
       Book::InvalidKeyError&)
    

    😕



  • Nach public gehört ein Doppelpunkt 🙂



  • ==)

    Autsch!

    Thx a lot 🙂


Anmelden zum Antworten