- 博客(7)
- 收藏
- 关注
原创 “error C2065 : 未声明的标识符”的一种非常刁钻的情况
猜测是因为在某些特殊编码下,编译器解析的时候第一行的换行不被识别为是换行,于是第二行就相当于被注掉了,所以A就没声明。现在有一个同事的电脑,在把这个库编译成一个预编译头的时候,编译器报C2065,不认识A!假设一个头文件里有这么几行吧,这个头文件是一个head only的库的其中一个头文件。今天遇到了一种极为刁钻的error C2065的情况。请前辈指点了才明白,原来问题出在第一行的这个中文注释!把整个文件换一种编码方式,msvc就编过了。
2023-11-24 17:57:20
2498
2
原创 c++将一个类的共享指针推入vector中时,触发这个类的析构函数
c++将一个类的共享指针推入vector中时,触发这个类的析构函数:成因与解决方法
2023-06-27 20:19:28
432
原创 gcc报invalid operands of types ‘<unresolved overloaded function type>‘ and ‘int‘ to binary ‘operator<
gnu(gcc, mingw)误把模版函数的尖括号误认为小于号
2022-08-22 17:01:10
3143
原创 类成员函数作为函数参数出现error C3867:非标准语法;请使用“&”来创建指向成员的指针...
C++做复制字符串,入参需要的是const c*,我手头的数据是std::string,假设叫str吧,于是我把str.c_str输入进去,结果报了错。
2022-04-02 12:09:57
1457
原创 warning LNK4042: 对象被多次指定;已忽略多余的指定 一种非常规情况
最近遇到一个奇怪的错误,在编译涉及到某个类的头文件以及源文件的时候,第一趟报C1083(无法打开刚刚说的.h和.cpp对应的.obj文件),再编译一趟就报LNK4042和LNK2019。LNK2019非常常规,一般的会导致LNK2019的因素我都检查了,没有发现,遂搜索LNK4042和C1083,在中文互联网上没找到答案。最后在某s网站上找到一点端倪。先说错误根源:Vs里面虽然包含了.h文件,但是却把它当成了一个.cpp文件。在右击文件的property-general-item type里,可以看到这
2022-03-10 10:15:08
2694
4
原创 lpstrInitialDir设置不生效的问题
lpstrInitialDir设置不生效的问题问题描述:这两天设置CFileDialog的lpstrInitialDir,也就是默认路径的时候,死活设置不成功,还是显示的“我的文档”。在网上查了各种方法都不顶用,最后还是打断点对照了公司其它地方的代码才发现问题。在这里记录一下。 解决方案:简单来说,lpstrInitialDir设置的路径必须是以“\\”分隔的,而不能是以“/”分隔的,且后面必须加上“\\”。错误示例:fileDialog.m_ofn.lpstrInitialDir =
2021-10-29 10:31:26
837
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人