类声明老报错
头文件里声明的类,代码如下:程序代码:
#ifndef HNODE_H #define HNODE_H class Hnode //哈夫曼树的存储存储结构 { public: unsigned char name; //8位的存储单元来存储字符(256种) unsigned weight; //存储字符的频度 int p; //双亲节点 int lchild; //左孩子 int rchild; //右孩子 int Hnodeindex; //节点索引 Hnode() //初始化数据成员 { name = '\0'; weight = 0; p = 0; Hnodeindex = 0; lchild = rchild = 0; } }; #endif
一直在报错:
1>e:\test2\test2\comandex.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>e:\test2\test2\hnode.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>e:\test2\test2\hnode.h(4): error C2059: 语法错误:“public”
1>e:\test2\test2\hnode.h(4): error C2143: 语法错误 : 缺少“;”(在“:”的前面)
1>e:\test2\test2\hnode.h(4): error C2059: 语法错误:“:”
1>e:\test2\test2\hnode.h(8): error C2059: 语法错误:“)”
1>e:\test2\test2\hnode.h(10): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\test2\test2\hnode.h(10): error C2371: “weight”: 重定义;不同的基类型
1> e:\test2\test2\hnode.h(6) : 参见“weight”的声明
1>e:\test2\test2\hnode.h(11): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\test2\test2\hnode.h(12): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\test2\test2\hnode.h(13): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\test2\test2\hnode.h(13): error C2086: “int lchild”: 重定义
1> e:\test2\test2\hnode.h(7) : 参见“lchild”的声明
1>e:\test2\test2\hnode.h(13): error C2065: “rchild”: 未声明的标识符
1>e:\test2\test2\hnode.h(14): error C2059: 语法错误:“}”
1>e:\test2\test2\hnode.h(14): error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1>e:\test2\test2\hnode.h(14): error C2059: 语法错误:“}”
1>e:\test2\test2\hnode.h(15): error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1>e:\test2\test2\hnode.h(15): error C2059: 语法错误:“}”
很奇怪