继承抛出的纯虚函数

Inherit a pure virtual function that throws

本文关键字:函数 继承      更新时间:2023-10-16

正如标题所示,我想从抛出异常的类函数中创建一个继承的类函数。基类中的函数如下所示:

template <typename T>
class IQueue {
public:
virtual T dequeue()throw(…) = 0;
}

请注意,我不允许修改它,因为它是针对类的。我应该如何在转移类中声明函数?我试过这样:

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 水平椭圆字符而不是 ... 。但是,即使throw(...)也没有在我的系统上编译。该类在其声明的末尾也缺少一个分号,尽管目前尚不清楚这是否只是上传到 Stack Overflow 时的一个错误。

提到您从作业描述中复制了该类。无论从中复制什么,都不会正确格式化文本,这应该由教授/管理作业的人修复。

此外,一般来说,无论如何,使用异常规范在C++中被认为是一个坏主意。