Форум программистов, компьютерный форум CyberForum.ru

Использование set - C++

Восстановить пароль Регистрация
 
YourLastSong
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
09.04.2012, 12:01     Использование set #1
Приветствую.

Что-то я совсем глупый вопрос задам, но понять, где тут ошибка никак не могу:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <vector>
#include <set>
#include <utility>
 
typedef std::set <std::pair <std::string, std::string> > myData;
 
int main (int argc, char *argv[])
{
    const std::vector <std::string> args (argv + 1, argv + argc);
 
    myData argsSet;
 
    for (std::vector <std::string>::size_type i = 0; i < args.size (); i += 2)
    {
        std::pair <std::string, std::string> pair = std::make_pair (args.at (i), args.at (i + 1));
        std::pair <myData::iterator, bool> element = argsSet.insert (pair);
        if (element.second == false)
        {
            std::cout << "You already have element" << std::endl;
        }
    }
 
    return 0;
}
Проект не собирается с кучей ошибок (приводить их даже не имеет смысла).

Добавлено через 27 минут
Странно - gcc код воспринимает, а MS-компилятор нет.

Что тут не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2012, 12:01     Использование set
Посмотрите здесь:

C++ поменять в настройке Character Set на Use Multy-Byte Character Set
C++ Позиция элемента в контейнере STL кон. SET, поиск контейнер set словарь позиция
List и Set C++
Структура SET C++
класс SET C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Melkor
30 / 30 / 1
Регистрация: 15.12.2011
Сообщений: 108
09.04.2012, 12:03     Использование set #2
помоему тебе нужно перегрузить оператор "меньше" для типа std:air< std::string, std::string >
YourLastSong
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
09.04.2012, 12:17  [ТС]     Использование set #3
Зачем? Разве там не должно быть всё шаблонизировано? К тому же, gcc код собирает.
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
09.04.2012, 13:55     Использование set #4
YourLastSong, у меня собирается. первые ошибки хоть напиши.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
09.04.2012, 17:12     Использование set #5
в 10-й студии все собирается, и вектор здесь излишен
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <utility>
#include <string>
#include <set>
 
typedef std::set <std::pair <std::string, std::string> > myData;
 
int main (int argc, char *argv[])
{
    myData argsSet;
    
    for (char *begin = *(argv + 1), *end = *(argv + argc); begin < end; begin += 2)
    {
        std::pair <myData::iterator, bool> element = argsSet.insert(std::make_pair(begin, begin + 1));
        if (element.second == false)
        {
            std::cout << "You already have element" << std::endl;
        }
    }
    return 0;
}
Yandex
Объявления
09.04.2012, 17:12     Использование set
Ответ Создать тему
Опции темы

Текущее время: 17:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru