Ошибка перегрузки… Лакс… Может быть, нарушение спецификации языка C++?

Я посмотрел на эту проблему и не вижу, в чем проблема. Я не эксперт в C++, поэтому для меня это выглядит нормально. Это использовалось для компиляции без проблем в последний раз, когда я пытался.

namespace yaaf {

/************************************************************************/
/*                                                                                          */
/*     Standard YAAF Errors                                                            */
/*                                                                                          */
/************************************************************************/

/*     XGYAAFError
 *
 *          YAAF Error; this is the root of my YAAF errors, and is
 *     a descendant of the standard exception class
 */

class XGYAAFError : public std::exception {
     public:
          explicit XGYAAFError(const char *);
          explicit XGYAAFError(const std::string &err);

          const char *what() const throw()
          {
              return fError.c_str();
          }

     private:
          std::string fError;
};

} // namespace yaaf

#endif

Базовый класс библиотеки GCC...

  /**
   *  @brief Base class for all library exceptions.
   *
   *  This is the base class for all exceptions thrown by the standard
   *  library, and by certain language expressions.  You are free to derive
   *  your own %exception classes, or use a different hierarchy, or to
   *  throw non-class data (e.g., fundamental types).
   */
  class exception 
  {
  public:
    exception() throw() { }
    virtual ~exception() throw();

    /** Returns a C-style character string describing the general cause
     *  of the current error.  */
    virtual const char* what() const throw();
  };

Ошибка "спецификация функции переопределения более слабая, чем базовая версия" - это то, что я теперь получаю, когда пытаюсь построить.

Я думаю, что это может быть связано с изменением языка C++ (примерно в 2004 году?? )и где вы можете объявить указатель в производном классе. Но я не уверен, что это так и как это исправить.

Любые идеи о том, что конкретно не так или как я могу это исправить, приветствуются.

Спасибо

5
задан coelhudo 6 August 2012 в 23:29
поделиться