为什么Visual Studio 2008在C++代码中将内部高亮显示为关键字?

sha*_*oth 6 c++ visual-studio visual-c++

我正在将VC++ 7代码库移植到VC++ 9.令人惊讶的是,Visual Studio 2008将内部强调为C++代码中的关键字,但看起来并没有真正对待它.

这是什么 - VS中的一个错误,一个我还没有找到的环境设置,或者一个迹象表明我将不再允许在即将推出的版本中使用内部作为常规标识符?在这种情况下,我最好的举动是什么?

Aam*_*mir 7

我不确定,但我认为内部说明符可以在C++/CLI项目中使用.因此,由于非C++/CLI项目和C++/CLI项目之间只有一个项目设置的差异,因此可能因为这个原因而被突出显示.

[编辑]刚刚检查过,内部 C++/CLI中的关键字,并生成与C#项目生成的IL类似的IL.所以,我原来的想法似乎是对的.它似乎是微软所有C++版本的解析器.


jal*_*alf 5

只是忽略它."问题"只是并非Visual Studio的所有部分都能正确区分C++和C++/CLI.因此,即使在普通的原生C++中,某些C++/CLI关键字也会突出显示.(array是另一个).

这只会影响语法高亮,而不会影响实际的编译器.

因此,避免这些话的唯一理由是,1)发现错误的语法突出显示太烦人,或2)计划将应用程序移植到C++/CLI.