C++ ';节点';:使用类模板需要模板参数列表
我正在进行一个BST树遍历,当我使用一个模板进行遍历时,我得到了一个错误。 非常感谢。 代码如下:C++ ';节点';:使用类模板需要模板参数列表,c++,visual-studio-2010,templates,C++,Visual Studio 2010,Templates,我正在进行一个BST树遍历,当我使用一个模板进行遍历时,我得到了一个错误。 非常感谢。 代码如下: #include <iostream> using namespace std; template<typename T> struct Node{ T data; Node*left; Node*right; }; template<class T>void PreOrder(Node* root){ if (root ==
#include <iostream>
using namespace std;
template<typename T> struct Node{
T data;
Node*left;
Node*right;
};
template<class T>void PreOrder(Node* root){
if (root == NULL) return;
cout << root->data;
PreOrder(root -> right);
PreOrder(root -> left);
}
#包括
使用名称空间std;
模板结构节点{
T数据;
节点*左;
节点*右;
};
templatevoid预订单(节点*根){
if(root==NULL)返回;
cout数据;
预订单(根->右);
预订单(根->左);
}
我总是会得到一个错误,说“Node”:使用类模板需要模板参数列表
提前感谢您的帮助。您应该在
预订单()函数签名中使用节点
语法(而不仅仅是节点
):
template<class T> void PreOrder(Node<T>* root) {
模板无效预订单(节点*根){
此代码可以使用MSVC10进行良好编译:
#include <iostream>
using namespace std;
template<typename T> struct Node {
T data;
Node*left;
Node*right;
};
template<class T>void PreOrder(Node<T>* root) {
if (root == NULL) return;
cout << root->data;
PreOrder(root->right);
PreOrder(root->left);
}
int main() {
}
#包括
使用名称空间std;
模板结构节点{
T数据;
节点*左;
节点*右;
};
templatevoid预订单(节点*根){
if(root==NULL)返回;
cout数据;
预订单(根->右);
预订单(根->左);
}
int main(){
}
你的意思是:templatevoid PreOrder(Node*root){
?顺便说一句,它应该是const
。