写mfc的几个error

1.error C2664: “CFileDialog::CFileDialog(BOOL,LPCTSTR,LPCTSTR,DWORD,LPCTSTR,CWnd *,DWORD,BOOL)”: 不能将参数 2 从“const char [4]”转换为“LPCTSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

解决:项目----属性----常规----字符集----使用多字节字符集

2.error C4996: ‘strcpy’: This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明
1> BB_PLOT.cpp

解决:项目----属性----c/c+±—预处理器----添加_CRT_SECURE_NO_WARNINGS

3.private:
static DWORD CALLBACK ThreadProc(LPVOID param);

调用时m_hThread = CreateThread(NULL,0,ThreadProc,this,0,NULL);

静态成员函数的地址可用普通函数指针储存,而普通成员函数地址需要用类成员函数指针来储存,因为普通成员函数要执行时我们必须要确定他是属于哪个类对象才能执行,而类的static函数是不属于这个类的,他是在编译器编译时期就已经确定的,普通成员函数是在有了类对象之后才能执行。

CALLBACK
#define CALLBACK __stdcall

不写时是__cdecl
区别:https://blog.csdn.net/W_Y2010/article/details/95480357

4.ReverseFind(‘\‘)函数

此函数表示从右开始寻找第一个“\”的,并返回从左开始数的索引地址。

与之相对的是Find(‘’)函数,表示从左开始寻找第一个’\',并返回从左开始数的索引地址。
5.debug里的exe不更新
项目右键重新生成就好了

你可能感兴趣的:(c++,mfc)