2010-11-01 51 views
0

道歉的微不足道的問題,但即時通訊問題與我在微軟支持網站上找到的例子。在Visual Studio中聲明C++數組列表?

可能有人請告訴我如何申報庫要求(以上主)的ArrayList中,這樣我就可以把它定義爲這樣的:

ArrayList a = new ArrayList(); 

我不能讓庫「ArrayList的」是識別?

+0

請張貼 – 2010-11-01 14:54:52

+0

您正在使用C++/CLI或本機C網頁++ ?如果這是託管代碼,請添加適當的標籤(.net)。 – 2010-11-01 14:57:18

+1

到目前爲止,沒有人注意到'ArrayList'是**棄用**。不要使用它。如果您想使用CLI類,請改用'System :: Collections :: Generic :: List '。 – 2010-11-01 15:52:43

回答

2

是否使用C++/CLI(託管C++)?這個類在本地C++中不可用。

std::vector是最接近的本地代碼等效。

如果您正在使用C++/CLI,那麼你必須添加一個引用到項目所需的組件(System.Collections) - 右鍵單擊​​Solution Explorer中的項目,選擇Add Reference,從.Net標籤挑選。

然後將其提供給您的代碼如下圖所示,在MSDN的例子:

using namespace System::Collections; 

this one for Add method,例如。

0

使用STL的載體:

#include <vector> 
int main() 
{ 
    std::vector<int> v_of_int; 
    v_of_int.push_back(5); 
    int val = v_of_int[0]; 
    ... 
} 
+1

他要求必要的庫來使用ArrayList。 – 2010-11-01 14:59:49

0

ArrayList聽起來像一個Java容器可疑 - 你是在std :: list <>或std :: vector <>也許?事實上,std :: deque <>會更好!

+0

聽起來像一個Java容器,但它也是一個託管的C++容器。例如參見http://msdn.microsoft.com/en-us/library/system.collections.arraylist%28VS.71%29.aspx – 2010-11-01 14:58:44

+2

顯然;但並不是所有的人都是Windows開發人員,有些答案採用標準的C++視角,並給出了原始標記(儘管msdn的參考在那裏),但我們可以原諒回答這個觀點......;) – Nim 2010-11-01 15:08:34

1

根據這篇文章:http://msdn.microsoft.com/en-us/library/system.collections.arraylist(VS.71).aspx

你需要這個語法:

#using <mscorlib.dll> 
using namespace System; 
using namespace System::Collections; 

ArrayList* a = new ArrayList(); 
a->Add(S"One"); 
a->Add(S"Two"); 
+1

I認爲這是舊的。看一看.NET 4.0的例子:http://msdn.microsoft.com/en-us/library/system.collections.arraylist%28VS.100%29.aspx – DaVinci 2010-11-01 15:08:04

+0

@DaVinci,@Starkey - MSDN search is is有點垃圾,因爲它從舊版本中隨機返回,而不是贊成最新的內容。通常有一個「其他版本」的下拉菜單可以快速鏈接到最新版本。當然,那麼隨着時間的推移,這將包括陳舊的鏈接 - * c'est la vie * ... – 2010-11-01 15:10:18

+0

.NET Framework 1.1 – MrHIDEn 2014-06-02 22:08:23

1
在C++/CLI

ArrayList^ a = gcnew ArrayList()