【发布时间】:2016-03-02 22:36:24
【问题描述】:
正如标题所示,我想从抛出异常的类函数中创建一个继承的类函数。基类中的函数如下所示:
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。
【问题讨论】:
-
"
throw(…)" 我几乎不建议您在 C++ 中使用异常规范。它们不仅在某些平台上没有做任何有用的事情,不仅被弃用,而且在 C++17 中也被投票删除,除了空规范 (throw()) -
你得到什么错误?
-
@KABoissonneault,
noexcept更好throw()。 -
是的,我们想看看错误信息。
-
问题可能是由于使用了Unicode Horizontal Ellipsis 字符吗?
标签: c++ inheritance virtual throw