Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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++_Templates_Constructor_Header - Fatal编程技术网

C++ 错误:应为';)';在'之前;数据';

C++ 错误:应为';)';在'之前;数据';,c++,templates,constructor,header,C++,Templates,Constructor,Header,我正在尝试设置PriorityQueue模板类,该类将在向量中存储节点。我目前正在处理Node类,遇到了一些与我的Node类的两个构造函数相关的错误 下面是我得到的错误:这一位 typename PriorityQueue<T>::template Node<T>::Node(T data, int *index, float priority) typename优先级队列::模板节点::节点(T数据,int*索引,浮点优先级) 应该是 template <ty

我正在尝试设置PriorityQueue模板类,该类将在向量中存储节点。我目前正在处理Node类,遇到了一些与我的Node类的两个构造函数相关的错误

下面是我得到的错误:

这一位

typename PriorityQueue<T>::template Node<T>::Node(T data, int *index, float priority)
typename优先级队列::模板节点::节点(T数据,int*索引,浮点优先级)
应该是

template <typename T>
Node<T>::Node(T data, int *index, float priority)
模板
Node::Node(T数据,int*索引,浮点优先级)

我不知道您试图使用什么语法来定义模板类构造函数,但它应该是这样的:

template <class T>
Node<T>::Node(T data, int *index, float priority)
{
    // ...
}
模板
Node::Node(T数据,int*索引,浮点优先级)
{
// ...
}

进一步,您应该考虑使用初始化列表来初始化对象的成员。< /P>对于复杂类型的效率更高,使用构造函数中的初始化列表并通过const引用(或按值使用,并使用<代码> STD::C++中的“移动< /代码>”)传递输入。另外,为什么前端函数返回的是副本而不是引用?