Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么VisualStudio2008在C++;密码?_C++_Visual Studio_Visual C++ - Fatal编程技术网

C++ 为什么VisualStudio2008在C++;密码?

C++ 为什么VisualStudio2008在C++;密码?,c++,visual-studio,visual-c++,C++,Visual Studio,Visual C++,我正在将VC++7代码库移植到VC++9。令人惊讶的是VisualStudio 2008在C++代码中强调了内部作为关键字,但是看起来它并没有真正被处理。 这是什么-VS中的一个bug,我还没有找到的一个环境设置,或者是一个标志,表明我将不再被允许在某个即将发布的版本中使用internal作为常规标识符?在这种情况下,我的最佳做法是什么?我不确定,但我认为内部说明符可以在C++/CLI项目中使用。因此,由于非C++/CLI项目和C++/CLI项目之间只有一个项目设置不同,因此,可能是因为这个原因

我正在将VC++7代码库移植到VC++9。令人惊讶的是VisualStudio 2008在C++代码中强调了内部作为关键字,但是看起来它并没有真正被处理。
这是什么-VS中的一个bug,我还没有找到的一个环境设置,或者是一个标志,表明我将不再被允许在某个即将发布的版本中使用internal作为常规标识符?在这种情况下,我的最佳做法是什么?

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


[编辑]刚刚选中,internal是C++/CLI中的一个关键字,生成的IL与C#项目生成的IL类似。所以,我最初的想法似乎是正确的。它似乎是微软的所有C++语言的一个解析器。

< P>问题是用于高亮显示的解析器不是真正的C++解析器之一。“其中之一”,因为VC++、C++/Za和C++/CLI是三种不同解析器的方言。VS pretty打印机使用的通用解析器并不总是正确的。例如,它只有一组关键字,因此它总是假定“internal”是一个关键字。

忽略它即可。“问题”只是Visual Studio的所有部分不能正确区分C++和C++。因此,即使在纯C++中,某些C++ /CLI关键字也会被高亮显示。(
array
是另一个)

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

<> P>所以避免这些词的唯一原因是如果你发现1个语法太烦人,或者2)你的应用程序移植到C++ +CLI。

我认为它不是“C语言的一个分析器”,但是一些不在C++中的.NET机制是在C++中为.NET引入的,而且有明显的原因,它们的语义与C#相同。