- 博客(3)
- 收藏
- 关注
原创 C++类型转换
最近编码中出现一个错误,就是尝试LList<Base*> *ptrList = new LList<Derived*>();时出现错误。LLIst是一个链表模板类,Base是抽象基类,Derived是Base的派生类。我试图用一个链表去装入指向派生类的指针,但是在初始化的时候出现错误,无法进行类型的初始化。显然,在构建对象的时候,模板类型在这里必须是一致的,并不能发生隐式的...
2018-04-14 09:37:06 104
原创 vs报错:c2664
记录一个自己造的坑:在构建B+树的节点时,尝试使用自己造的LList作为容纳节点中元素的数据结构。但是,自己在尝试用智能指针定义一个指向LList的私有变量时,用ptr2(newLList<std::shared_ptr<TestB>>())初始化智能指针。这时,bug来了。1、智能指针用new初始化时,首先生成的是一个指向LList的原始指针,然后智能指针在试图通过调用L...
2018-04-01 14:23:07 4836
原创 C++编译时报错:无法解析外部符号
在今天的编码中,主要是遇到了以下几点原因:1、如果编写的是模板代码,在main.cpp中,需要将头文件和其实现文件都加入到头文件中;在该博客中有更为详细的解释:点击打开链接 原因在于模板类和模板函数在使用的时候才会被实例化。 当模板被使用时,编译器需要函数所有的实现代码, 来用合适的类型(模板参数)去构建正确的函数。 但是如果将函数实现在单独的源文件中,这些文件是不可见的,...
2018-03-05 20:57:15 1767 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人