Объявление C ++ Arraylist в Visual Studio? - PullRequest
0 голосов
/ 01 ноября 2010

Извиняюсь за тривиальный вопрос, но у меня проблемы с примерами, которые я нахожу на веб-сайте поддержки Microsoft.

Может кто-нибудь показать мне, как объявить библиотеки, требующие (выше основного) для ArrayList, чтобы я мог просто определить его так:

ArrayList a = new ArrayList();

Не могу получить библиотеки для распознавания ArrayList?

Ответы [ 6 ]

2 голосов
/ 01 ноября 2010

Используете ли вы C ++ / CLI (управляемый C ++)? Этот класс не доступен на родном C ++, к вашему сведению.

std :: vector является ближайшим эквивалентом собственного кода.

Если вы используете C ++ / CLI, вам нужно добавить ссылку на требуемую сборку (System.Collections) в свой проект - щелкните правой кнопкой мыши проект в обозревателе решений, выберите Add Reference, выберите вкладку .Net.

Затем сделайте его доступным для своего кода, как показано ниже и в примерах MSDN:

using namespace System::Collections;

См. этот метод добавления, например, .

1 голос
/ 01 ноября 2010

в C ++ / CLI ArrayList^ a = gcnew ArrayList()

1 голос
/ 01 ноября 2010

Согласно этой статье: 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");
0 голосов
/ 01 ноября 2010

ArrayList звучит подозрительно, как Java-контейнер - возможно, вы после std :: list <> или std :: vector <> возможно?Infact, std :: deque <> сделает вас лучше!

0 голосов
/ 01 ноября 2010

использовать вектор stl:

#include <vector>
int main()
{
   std::vector<int> v_of_int;
   v_of_int.push_back(5);
   int val = v_of_int[0];
   ...
}
0 голосов
/ 01 ноября 2010

Документация указывает на то, что вам нужно

#using <mscorlib.dll>
using namespace System::Collections;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...