更新Visual Studio 2017,现在得到编译错误C7510:``回调'':使用依赖的模板名称必须以``模板''为前缀

骨281

更新(15.8.0)之后,我尝试像往常一样编译项目。我将showincludes设置为yes,以找出错误的根源,但这都是系统代码。从stdafx.cpp开始,它将遍历所有包含和错误:

 1>Note: including file:     C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\shared\pshpack8.h
 1>Note: including file:     C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\shared\poppack.h
 1>Note: including file:    C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\shared\pshpack8.h
 1>Note: including file:    C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\shared\poppack.h
 1>Note: including file:   C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\winrt\wrl\event.h
 1>Note: including file:    C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\winrt\eventtoken.h
 1>Note: including file:    C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\shared\pshpack8.h
 1>c:\program files (x86)\windows kits\10\include\10.0.17134.0\winrt\wrl\event.h(316): error C7510: 'Callback': use of dependent template name must be prefixed with 'template'
 1>c:\program files (x86)\windows kits\10\include\10.0.17134.0\winrt\wrl\event.h(324): error C7510: 'Callback': use of dependent template name must be prefixed with 'template'

有没有人见过这个?我在谷歌上下搜索找不到答案。缺少修改Windows SDK的方法,不确定该怎么做。

编辑:在我安装的Windows SDK中,错误是在文件-

C:\ Program Files(x86)\ Windows Kits \ 10 \ Include \ 10.0.17134.0 \ winrt \ wrl \ event.h

更改了第316行:return DelegateHelper :: Traits :: Callback(Details :: Forward(callback));

to:返回DelegateHelper :: Traits :: template回调(Details :: Forward(callback));

和第324行:return DelegateHelper :: Traits :: Callback(

返回DelegateHelper :: Traits :: template回调(Details :: Forward(callback));

由于修改sdk并不是真正的解决方案,因此Peng Du通过在配置窗口中选择不符合项的解决方案是可行的方法。

杜鹏

我有传统的项目,我比较并排项目设置方面,我终于成功地建立通过设置新项目:Configuration Properties> C/C++> Language>Conformance mode = No

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章