mercredi 5 septembre 2018

return integer from defined exception in C++

I want to define an exception which returns int. My code is given below. It's showing error.

class BadLengthException : public exception {
public:
int x;
BadLengthException(int n){
x =n;
}
virtual const int what() const throw ()  {
return x;
}
};

The error is:

solution.cc:12:22: error: conflicting return type specified for ‘virtual const int BadLengthException::what() const’ virtual const int what() const throw () { ^~~~ In file included from /usr/include/c++/7/exception:38:0, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from solution.cc:1: /usr/include/c++/7/bits/exception.h:69:5: error: overriding ‘virtual const char* std::exception::what() const’ what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT;

Aucun commentaire:

Enregistrer un commentaire