![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Visual Studio使用
针对在VS上编译调试中出现的各种问题
Brilliant Cheng
热爱生活,做有意义的事情!
展开
-
LNK1169:找到一个或多个多重定义的符号
LNK1169:找到一个或多个多重定义的符号说明:在学习数据结构时,在a.h文件中定义了全局变量,同时在a.h中使用了类模板// a.hint countLeaf=0;template<class Elemtype>class BiTree{...}然后在a.cpp文件写实现,最后在b.cpp文件中调用a.cpp,其中b.cpp中包含main函数运行时报错**LNK1169:找到一个或多个重定义的符号**解决方法:在a.h文件中定义全局变量前加上externext原创 2021-12-12 11:21:55 · 904 阅读 · 0 评论 -
LNK2005: ***已经在***中定义
LNK2005:*** 已经在 *** 中定义错误如下图所示:此问题和LNK2019中出现问题的一种情况是相对的:在LNK2019中出现的一个问题是,在类中使用了类模板,则在使用这个类时,需要引用这个类的.cpp文件,在引用.h文件时会报错LNK2019。而LNK2005出现的问题就是,在类中没有使用类模板,则在使用这个类时,需要引用这个类对应的.h文件,如果引用.cpp文件,则会出现如图中所示的LNK2005错误。注:以上可能是导致出现LNK2005错误提示的一种原因,后续有类似的会再添加进来原创 2021-11-28 20:51:04 · 887 阅读 · 0 评论 -
C++delete_scalar.cpp触发了一个.exe断点
最近写C++代码碰到这样的一个问题:C++delete_scalar.cpp触发了一个.exe断点程序运行没有问题,但是在关闭控制台时出现这个小bug。原因:使用new申请的空间,最后使用delete进行释放,在进行delete操作时出现问题。我将delete写在析构函数中,所以每次在关闭控制台的时候出现这个问题。解决:你可以把自己写的delete给注释掉,就解决这个问题了,因为系统最终也会进行内存的管理。注:这只是一种逃避的方式,建议看看到底是哪个对象在析构时出现问题的,然后进行针对的更改,这样原创 2021-11-28 20:33:21 · 4573 阅读 · 1 评论 -
LNK2019:无法解析的外部符号
LINK2019:无法解析的外部符号用C++写类的时候,通常会将.cpp和.h文件分开写,即实现和声明分开写了,我在用C++写数据结构时也按照这样的方式写,然后在main中引用写的类.h文件,最终出现这样的错误。首先确认了代码是没问题的,后面调查才发现,我使用的类模板编程实现,然而在C++的类模板文件中,这种写法是错误的。解决方式:(1)在类模板中将定义和实现写在一起;(2)依旧分开写.cpp和.h文件,但是在最后调用的时候,引用.cpp文件这样可以完美解决!引用:https://www.c原创 2021-11-18 10:58:23 · 5898 阅读 · 1 评论