如标题所示,我想从一个抛出异常的类函数创建一个继承的类函数。基类中的函数如下所示:
template <typename T>
class IQueue {
public:
virtual T dequeue()throw(…) = 0;
}
请注意,我不能修改它,因为它是用于类(class)的。我应该如何在转移的类中声明该函数?我试过这样:
template <typename T>
class Queue : public IQueue < T >{
public:
virtual T dequeue()throw(…) {}
}
但我不允许运行它,它给我一个指向基类中的声明的错误。所以我认为我没有按我应该的方式覆盖它。
这些是我遇到的错误:
unexpected token(s) preceding ';'
syntax error : indentifier '...'
unable to recover from previous error(s); stopping compilation".
顶部的两个在 IQueue.h 中,最后一个在 xlocale 中。 我正在使用 Visual Studio 2013。
最佳答案
您的问题是由于使用了 Unicode HORIZONTAL ELLIPSIS字符 ...
而不是 ...
。然而,即使是 throw(...)
也没有在我的系统上编译。该类在其声明末尾还缺少一个分号,但尚不清楚这是否只是上传到 Stack Overflow 时的一个错误。
您提到您从作业描述中复制了类(class)。不管这是从哪里复制的,都没有正确地格式化文本,这应该由教授/管理作业的人来解决。
另外,一般来说,使用异常规范被认为是 bad idea无论如何,在 C++ 中。
关于c++ - 继承抛出的纯虚函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35759583/