Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 继承一个纯虚函数,该函数_C++_Inheritance_Virtual_Throw - Fatal编程技术网

C++ 继承一个纯虚函数,该函数

C++ 继承一个纯虚函数,该函数,c++,inheritance,virtual,throw,C++,Inheritance,Virtual,Throw,如下面的标题所示,我想从引发异常的类函数中创建一个继承的类函数。基类中的函数如下所示: template <typename T> class IQueue { public: virtual T dequeue()throw(…) = 0; } 顶部的两个在IQueue.h中,最后一个在xlocale中。 我正在使用Visual Studio 2013。您的问题是由于使用了字符..而不是..。但是,即使是throw(…)也没有在我的系统上编译。该类在其声明的末尾也缺少一个分号,尽

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

template <typename T>
class IQueue {
public:
virtual T dequeue()throw(…) = 0;
}
顶部的两个在IQueue.h中,最后一个在xlocale中。
我正在使用Visual Studio 2013。

您的问题是由于使用了字符
..
而不是
..
。但是,即使是
throw(…)
也没有在我的系统上编译。该类在其声明的末尾也缺少一个分号,尽管不清楚这是否只是上传到堆栈溢出时的一个错误

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


一般来说,使用异常规范被认为是C++中的任何一种。< /P> < P>您的问题是由于使用字符<代码>…>代码>而不是<代码>…<代码>。但是,即使是
throw(…)
也没有在我的系统上编译。该类在其声明的末尾也缺少一个分号,尽管不清楚这是否只是上传到堆栈溢出时的一个错误

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


也可以说,一般使用C++中的异常规范,无论如何。

“代码>抛出(…)<代码>”,我几乎不建议您在C++中使用异常规范。它们不仅在某些平台上没有做任何有用的事情,不仅被弃用,而且在C++17中也被投票删除,除了空规范(
throw()
)之外,你会得到什么错误?@kaboissoneault,
noexcept
更好
throw()
。是的,我们想看看错误信息。问题可能是由于使用了字符“<代码>丢(…)< /代码>”,我几乎不建议您在C++中使用异常规范。它们不仅在某些平台上没有做任何有用的事情,不仅被弃用,而且在C++17中也被投票删除,除了空规范(
throw()
)之外,你会得到什么错误?@kaboissoneault,
noexcept
更好
throw()
。是的,我们想看到错误信息。问题可能是因为使用了字符吗?是的,就是这样,我改了,改成了三个点“…”,现在可以正常工作了。非常感谢:)@Adam很乐意帮忙。如果一个答案解决了你的问题,你可以通过点击该问题投票箭头下方的复选标记将其标记为解决方案。是的,就是这样,我改为三点“…”,现在它运行良好。非常感谢:)@Adam很乐意帮忙。如果某个答案解决了您的问题,您可以通过单击该问题投票箭头下方的复选标记将其标记为解决方案。
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".