最近在做数据结构的实验,暴露了一些典型问题,这里总结一下,避免以后出错
- 编译时报一个特别长的错:“无法解析的外部符号”,行号还是1,应该看一下定义的成员函数有没有还没有实现就被调用的,实验接口普遍挺多,记得把应该实现的函数都实现了。
- 模板类作为友元时需要写前视说明,否则会报很多不明所以的错误
- 关于传入指针和指针引用:传入指针可以改变指针指向的对象的值,但是不能改变指针的指向;而使用指针引用就可以办到
- 只需要访问,不需要修改的值,可以定义为const或者使用const 类型的get函数访问
- 一种自己写的在二叉树中搜索的方法:
bool BinaryTree<T>::Search(BinaryTreeNode<T>*root,T &data) { /*前序遍历,递归进行元素的搜索*/ int flag = 0; if (root == NULL) return 0; if (root->data == data) { flag = 1; return flag; } flag=flag+Search(root->left, data); flag=flag+Search(root->right, data); return flag; };
- 注意区分成员函数和参数,有时候get函数会写成和参数名很像的样子,不要认错。
- 老问题,程序不调试直接运行时控制台一闪而过的解决方法:调试-》XXX(项目名)属性-》链接器-》系统-》子系统-》改为“控制台”即可。