错误:声明'虚拟const char * numberOutOfBounds :: what()const'有一个不同的异常说明符
我一直在寻找解决方案,但我无法找出我做错了什么。
我头文件中的例外:
class FileException:public exception {
public:
virtual const char* what() const throw();
};
class numberOutOfBounds:public exception {
public:
virtual const char* what() const throw();
};
我的cpp文件中有例外:
const char* FileException::what() const {
return "Cannot open file";
}
const char* numberOutOfBounds::what() const {
return "illegal number entered";
}
有人能让我知道我在这里做错了吗? 我环顾四周,无法弄清楚为什么我收到错误信息。
答案 0 :(得分:2)
virtual const char* what() const throw();
此函数声明具有throw
声明,但定义中缺少该声明。
你需要:
const char* FileException::what() const throw() {
// ^^^^^^^ - added
return "Cannot open file";
}
仅供参考,已有std::out_of_range
个异常类。
答案 1 :(得分:0)
实现异常的正确方法:
var obj; // arrary of logs
var index;
function renderLog() {
if (index < obj.length ) {
//change the css style of the log, and set display is unvisible.
$("#log-content") .prepend(obj[index++]);
slideDown(3, function() { renderLog(); });
}
}