错误错误 C2872:"布尔值":kinect.h 的不明确符号



VS19更新到16.3.8后,我无法构建我的项目,我收到以下错误:

C:Program FilesMicrosoft SDKsKinectv2.0_1409incKinect.h(8574,28): error C2872: 'boolean': ambiguous symbol
C:Program Files (x86)Windows Kits10Include10.0.18362.0sharedrpcndr.h(193,23): message : could be 'unsigned char boolean'
C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.23.28105includeconcepts(213,9): message : or 'bool std::boolean'

我试过检查kinect.h标头,但我没有修改它的权限,我不想处理一些我不熟悉的东西。在更新(VS19 16.0.0(之前,它一直在工作。我也尝试过清理、重新启动,并仔细检查是否有任何正在使用的命名空间,但错误仍然存在。

基于错误:

概念文件包括以下行

#define _STL_BOOLEAN_CONCEPT boolean 

rpcndr.h

typedef unsigned char boolean; 

然后kinect.h

virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsInertial( 
/* [annotation][out][retval] */ 
_Out_  boolean *value) = 0;

根据这些评论,通过将C++语言标准设置为C++17,我成功地构建了我的项目。

最新更新