почему я получаю discard qualifiers
ошибку:
customExc.cpp: In member function ‘virtual const char* CustomException::what() const’:
customExc.cpp: error: passing ‘const CustomException’ as ‘this’ argument of ‘char customException::code()’ discards qualifiers
в следующем примере кода
#include <iostream>
class CustomException: public std::exception {
public:
virtual const char* what() const throw() {
static std::string msg;
msg = "Error: ";
msg += code(); // <---------- this is the line with the compile error
return msg.c_str();
}
char code() { return 'F'; }
};
Я искал в SOF, прежде чем решать проблемы симуляции.
Я уже добавил const
на каждое возможное место.
Пожалуйста, просветите меня - я не понимаю ...
EDIT :
Вот шаги для воспроизведения на Ubuntu-Carmic-32bit (g ++ v4.4.1)
- сохранить пример как
customExc.cpp
- тип
make customExc.o
РЕДАКТИРОВАТЬ : ошибка связана с CustomException
. Класс Foo
не имеет к этому никакого отношения. Поэтому я удалил его.