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,因此您可以保證與其中的任何一個更加愉快。

相關問題