我发现如果一个文件在没有换行符的情况下结束(例如,包含文件的最后一行是#endif并且之后没有CRLF),它将搞乱Intellisense并导致它标记错误。
如果您始终使用C ++并且受到Intellisense错误的困扰,您可能需要永久关闭此错误报告: 工具 - >选项 - >文字编辑器 - > C / C ++ - >高级 - > IntelliSence - >禁用错误报告
Intellisense for C ++ / CLI经常会混淆并报告误报错误。它根本不如C#的Intellisense好。公平地说,C ++代码通常比C#代码更难分析(例如,如果我将一个#define编译指示添加到头文件中,导入头文件的任何文件的结构可能会改变 全然 )。
一旦我开始看到虚假的Intellisense错误,我通常只是在错误列表窗口中关闭它们: