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



有没有人见过这个?我上下谷歌搜索以找到无济于事的答案。没有修改windows sdk,不知道该怎么做。

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

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

更改第 316 行:返回 DelegateHelper::Traits::Callback(Details::Forward(callback));

to: return DelegateHelper::Traits::template Callback(Details::Forward(callback));

和第 324 行:返回 DelegateHelper::Traits::Callback(

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

由于修改sdk并不是真正的解决方案,在配置窗口中选择不符合的解决方案是彭杜的解决方案。

最佳答案

我有遗留项目,我并排比较了项目设置,最后我通过设置成功构建了新项目:Configuration Properties > C/C++ > Language > Conformance mode = No

关于c++ - 更新 Visual Studio 2017,现在出现编译错误 C7510 : 'Callback' : use of dependent template name must be prefixed with 'template' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51864528/

10-13 07:39