Как сделать вектор множеств в C ++? - PullRequest
5 голосов
/ 08 апреля 2011

Я могу сделать простой массив наборов: set < char > * words = new set < char > [10] Как я могу сделать вектор множеств? Это приводит к ошибке компилятора: vector < set< char >> v. Спасибо за ответы!

Ответы [ 2 ]

8 голосов
/ 09 апреля 2011

Если vector < set< char >> v - это именно то, что у вас есть (надеюсь, вы вырезали и вставили), вы натолкнулись на одну из раздражающих маленьких особенностей C ++.

Эти >> выглядят как две закрывающие угловые скобки для двух шаблонов. Они выглядят как оператор сдвига вправо для компилятора. Измените их на > > с пробелом между ними.

К счастью, это рассматривается в стандарте C ++, который должен быть ратифицирован в этом году. К сожалению, вы сейчас не работаете с C ++ 11-совместимым компилятором.

2 голосов
/ 09 апреля 2011

Вместо '>>' try '>>' ... вот так:

vector<set<char> > testVect;
...