C++ C++;Intellisense显示结构化绑定的错误,但代码已编译

C++ C++;Intellisense显示结构化绑定的错误,但代码已编译,c++,visual-studio,c++17,intellisense,C++,Visual Studio,C++17,Intellisense,我已经使用VS很长时间了,我认为它是一个不错的IDE,但有时intellisense会中断并报告不存在的错误。通常这些会在一段时间后消失,或者在重建intellisense缓存后消失,但这次它实际上似乎被卡住了。这在我的IDE中的外观图片:(这是VS2017) 当将鼠标悬停在名为“position”的位置上时,我会收到如下消息:类“Saturn::Components::Transform”没有名为“position”的成员,而它显然有一个,这在编译代码时变得很清楚,这很好 我已经在各地更改设

我已经使用VS很长时间了,我认为它是一个不错的IDE,但有时intellisense会中断并报告不存在的错误。通常这些会在一段时间后消失,或者在重建intellisense缓存后消失,但这次它实际上似乎被卡住了。这在我的IDE中的外观图片:(这是VS2017)

当将鼠标悬停在名为“position”的位置上时,我会收到如下消息:
类“Saturn::Components::Transform”没有名为“position”的成员,而它显然有一个,这在编译代码时变得很清楚,这很好


我已经在各地更改设置有一段时间了,我不知道如何解决这个问题。非常感谢您的帮助

> P.>据我所知,智能感知是从一个不同的编译器前端(基于它)提供的,而不是Visual C++编译器使用的。因此,经常发生的是,在智能编译中,什么是智能感知是有效代码,VisualC++编译器会接受什么。例如,当Visual C++添加新的实验特性时,智能感知通常不会被更新以了解它们,并将相应代码标记为错误。这也像EDG前端,至少在历史上,比Visual C++具有更好的标准一致性,所以当Visual C++编译代码时,智能感知会考虑某些代码有效,抱怨。(这在Visual C++的最后两个版本中有了显著的改进,但是,人们看到这种情况越来越少),除此之外,每个前端都有自己的错误集……/P>
最有可能的情况是,您正在使用的VS 2017版本中的IntelliSense还不支持结构化绑定。据我所知,在VS 2017更新3(或当时左右)中引入该功能时,这曾经是一个问题你可能想考虑更新你的VS 2017到一个更近的版本,因为我似乎无法用当前的VS 2017(版本15.11)来复制这个问题……

< P>。据我所知,智能感知是由不同的编译器前端提供的(基于此)。因此,经常出现的是,在智能编译时,智能代码认为是什么代码和Visual C++编译器在实际编译时会接受什么样的差异。例如,当Visual C++ C++添加新的实验特性时,智能感知往往还没有被更新以了解。对于EDG前端,至少在历史上,它比Visual C++具有更好的标准一致性,因此当Visual C++编译代码时,智能感知会考虑某些代码有效,抱怨。(这在Visual C++的最后两个版本中有了显著的改进,但是,人们看到这种情况越来越少),除此之外,每个前端都有自己的错误集……/P>
最有可能的情况是,您正在使用的VS 2017版本中的IntelliSense还不支持结构化绑定。据我所知,在VS 2017更新3(或当时左右)中引入该功能时,这曾经是一个问题您可能想考虑更新VS 2017到最近版本,因为我似乎无法用当前VS 2017(版本15:11)重现这个问题。在这里…

你试过重启VS吗?昨天我有一种胡言乱语,就像我在重启之前被困在错误框里一样。它们似乎在上次更新中重启了,因为它比平常更坏。我试了两次,可惜没有成功。嗨,朋友,这个问题有什么更新吗?如果米迦勒的答案有助于解决它?如果是这样,请考虑检查是这是你问题的“公认答案”它似乎已经修复了自己,没有明显的原因。他的答案是有效的,尽管如此,我还是会接受它,以备将来参考。你是否尝试重新启动VS?昨天,在我重新启动之前,类似这样的胡说八道一直被困在错误框中。他们似乎在上次更新时重新破坏了它,因为它比平时更糟糕。我尝试了两次,遗憾的是没有suCICES。嗨,朋友,这个问题有什么更新吗?如果米迦勒的回答有助于解决这个问题?如果是的话,请考虑检查是你的问题的“可接受的答案”。虽然他的回答是正确的,但我还是会接受,以备将来参考。