VS不能将"const wchar_t*”类型的值分配到“LPWSTR"类型的实体
在学习win32 API过程中,若用的是VS的集成环境,在格式转换难免碰到许多乱七八糟的问题,许多在VC++里可以编译通过并正常执行的代码,在VS里却会翻车。
比如在写PETOOL项目的过程中,创建一个ListBox控件并添加标题时,初始化了一个LV_COLUMN变量。
LV_COLUMN lv
然后给该列标题起名字时VS报错了
lv.pszText=TEXT("进程")
创建字符串是用一个const指针指向字符串,但LV_COLUMN中的pszText成员则是LPWSTR,是个WCHAR型指针,const指针没法赋值给非const指针。
尝试几种强制转换的方法,要么编译不成功,要么出现乱码,最后只能让编译器忽略const和非const的转换,直接赋值。
方法:VS中,项目->属性->C/C+±>语言->符合模式,将原来的“是”改为“否”