0

我在Visual Studio 2010 Express中使用Visual C++,并且在过去我记得当您使用字符串对象并在点之后(例如:.)所有成员函数都将显示在列表中,但这不会发生。为什么属于类的函数在Visual C++中不显示?

string myString = "hello world"; 
myString. 

输入圆点后,所有属于字符串类的函数都不显示。在Visual C++中的哪个位置可以让它们显示?

+0

您使用的是C++/CLI吗? C++的设计与Microsoft的.NET Framework一起工作的版本? – 2011-02-16 07:58:21

+0

我想是的......我使用的是Visual C++ 2010 Express版本。我创建了一个项目CLI,然后创建.cpp文件 – miatech 2011-02-16 15:41:52

回答

5

您引用的功能在Microsoft中称为IntelliSense,它们的变量名称,函数和方法的自动完成版本。

对于C++/CLI项目,Visual Studio 2010不支持IntelliSense。您只会获得用于编写原生 C++代码的项目的IntelliSense。这在Visual C++团队博客上有更详细的解释here。 Microsoft Connect上还提供了bug;官方字是这样的:

感谢您的反馈。不幸的是,在这个版本中,由于时间限制,我们不得不削减对C++/CLI的智能感知支持。如果你想获得一些智能感知像本地类的快速信息和成员列表,你可以通过在项目属性中选择no/clr支持来获得它。

谢谢!
的Visual C++团队

这是我们许多人谁与C++/CLI项目的工作不幸的消息,我们都不会留下许多选项。关于这些选项的问题已经在这里提出:What are people replacing the missing C++/CLI Intellisense in VS 2010 with?总结是人们要么回到VS 2008
(我相信2008年的Express Edition仍然可以下载,如果你环顾四周),或购买第三方软件作为承诺带回IntelliSense的Visual Assist X

但值得一提的是,微软并没有将C++/CLI视为“一流”的.NET语言。有一点(如果任何)理由使用该语言启动新项目。它设计用于本机C++和托管C#应用程序之间的互操作。如果你想编写C++,你应该定位本地Windows API(在VS中创建一个新的Win32项目)。如果您想编写托管.NET代码,强烈建议您使用C#代替(这是不同版本的Express,必须单独下载)。 C++和C#之间的语法非常相似,但是您仍然需要学习.NET Framework和习惯用法。 Visual Studio 2010中的本机C++项目和托管C#项目都有very much improved IntelliSense support,因此您可以保证与其中的任何一个更加愉快。

相关问题