1.error C2951: 模板 声明只能在全局、命名空间或类范围内使用
解决办法:可能是类模板的成员函数在定义时
由于缩进等原因使得一个函数不小心写到了另一个函数的大括号内
2. 一个小毛病:写for的时候要用分号 ,里面的变量事先定义。
3.关于解决程序运行后一闪而过,不方便看运行的结果的解决办法 https://blog.csdn.net/liang19890820/article/details/51785211
4.error LNK2019: 无法解析的外部符号 "public: __thiscall SeqList<int>::~SeqList<int>(void)" (??1?$SeqList@H@@QAE@XZ),该符号在函数 _main 中被引用
解决办法:是因为在类中声明了析构函数,却没有对它进行定义导致的。
5. error C2143: 语法错误: 缺少“)”(在“;”的前面)
解决办法:再宏定义的时候#define MAX_SIZE 50;不要加分号
6.warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.
原因解释
这种微软的警告,主要因为那些C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了同样功能的函数,改写了的函数进行了参数的检测,使用这些新的函数会更安全和便捷。关于这些改写的函数你不用专门去记忆,因为编译器对于每个函数在给出警告时,都会告诉你相应的安全函数,查看警告信息就可以获知,
7.关于strcpy_s函数的使用 不能只放两个参数
8.error: 'else' without a previous 'if'
在if 和else部分都加上花括号
9.collect2: error: ld returned 1 exit status
模板类不要分开源文件和头文件来写 ,写在一个头文件里面就行
10.error: invalid use of template-name ‘Node’ without an argument list
写模板类的成员函数定义时用IDE比如qt-creator自动生成的话会有问题
这里正确的应该是
11 在写模板类成员函数声明 定义放在同一个文件中
成员函数的定义得放在预编译的宏之内 防止重复编译;
否则会出现 redefinition of ....
12.在写链表时候的结点类的时候 结点类的指针域 数据的变量不能声明为私有变量 否则会出错
12.