精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
服务方向
联系方式
锐英源精品原创,禁止转载和任何形式的非法内容使用,违者必究。点名“简易百科”和“闲暇巴”盗用锐英源原创内容。
出错的代码如下:
wstring supper; WORD wrLen; WCHAR cTest[256]; transform(supper.begin(), supper.end(), std::back_inserter(cTest), toupper);
因为STL报错是不会定位到错误代码上,是定位到STL代码里,VS2022里也是这样。所以新手很难查,因为自己加的代码,能够定位到上面部分,所以改成:
WCHAR cTest[256]; wstring supper,sTest=cTest; WORD wrLen; transform(supper.begin(), supper.end(), std::back_inserter(sTest), toupper);
问题解决。问题原因是back_inserter里不能为指针,STL函数里要带STL对象,如果不是STL对象,就不是Container容器范畴类的,就会报错。
上面代码是把wstring字符串转为大写。因为是示例代码,全部代码没有具体的功能意思。