Я столкнулся с неработающим компилятором, который не позволяет исключениям наследоваться от std::exception
(nvcc 3.0).
, поэтому пришлось создать обходной путь:
struct exception {
explicit exception(const char* message) {
what_ = message;
}
virtual const char *what() const throw() { return what_; }
operator std::exception() const {
return std::runtime_error(what_);
}
private:
const char* what_;
};
struct configuration_error : exception {
configuration_error(const char* message)
: exception(message) {}
};
есть что-тоЯ собираюсь проиграть, не наследуя от исключения, вместо этого предоставляя приведение?что нужно в вышеуказанном случае?
спасибо