1>c:\users\znj\desktop\数据结构程序设计\chapter10\avl树\avl树\avl_node.cpp(3): error C2143: 语法错误 : 缺少“;”(在“template”的前面)
1>------ 已启动生成: 项目: AVL树, 配置: Debug Win32 ------
1> 源.cpp
1>c:\users\znj\desktop\数据结构程序设计\chapter10\avl树\avl树\avl_node.cpp(3): error C2143: 语法错误 : 缺少“;”(在“template”的前面)
1>c:\users\znj\desktop\数据结构程序设计\chapter10\avl树\avl树\avl_tree.cpp(178): error C2244: “AVL_tree<Record>::remove”: 无法将函数定义与现有的声明匹配
1> c:\users\znj\desktop\数据结构程序设计\chapter10\avl树\avl树\avl_tree.h(6) : 参见“AVL_tree<Record>::remove”的声明
1> 定义
1> 'Error_code AVL_tree<Record>::remove(Record &)'
1> 现有声明
1> 'Error_code AVL_tree<Record>::remove(const Record &)'
1> Search_tree.cpp
问题出在头文件中
#include "Binary_node.cpp"
template <class Record>
struct AVL_node: public Binary_node<Record>{
//additional data member:
Balance_factor balance;
//constructors:
AVL_node( );
AVL_node(const Record &x);
//overridden virtual functions;
void set_balance(Balance_factor);
Balance_factor get_balance() const;
}; //这个;号漏了
所以确实是在template前面啊。。。#include的头文件,这种问题就应该去头文件中找。