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

Шаблоны no match for call to - C++

Восстановить пароль Регистрация
 
septe-mber
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 123
04.02.2014, 22:58     Шаблоны no match for call to #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
26
27
28
29
template<typename Vertex>
    void operator ()(Vertex vertex, vector<pair<int, Vertex>>& map)
    {
        stack<pair<int, int>> s;
        vector<pair<int, int>> vec = randVertex(map[0].second, map);
        s.push(map[0]);
        while(true)
        {
            if(!vec.empty())
            {
                int indexRand = rand() % vec.size();
                if(vec[indexRand].second == vertex)
                {
                    break;
                }
                else
                {
                    s.push(vec[indexRand]);
                    vec = randVertex(vec[indexRand].second, map);
                }
            }
            else
            {
                map[getIndexMap(s.top().second, map)].first = -1;
                s.pop();
                vec = randVertex(s.top().second, map);
            }
        }
    }
вызываю функцию
C++
1
2
vector<pair<int, int>> tmp = printVertex(B);
    p(H, tmp);
пишет ошибку
Код
/home/september/Проекты/TEST/main.cpp:162: ошибка: no match for call to '(FindPath) (<anonymous enum>, std::vector<std::pair<int, int> >&)'
     p(H, tmp);
             ^
пользуюсь qt creator g++

как правильно вызвать эту функцию с шаблоном ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
04.02.2014, 23:30     Шаблоны no match for call to #2
septe-mber, а если так?
C++
1
p(static_cast<int>(H), tmp);
septe-mber
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 123
04.02.2014, 23:35  [ТС]     Шаблоны no match for call to #3
gray_fox, как ни странно, работает... хотя на первый вгляд кажется, что явно преобразуем переменную H к типу int...
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
04.02.2014, 23:39     Шаблоны no match for call to #4
Цитата Сообщение от septe-mber Посмотреть сообщение
что явно преобразуем переменную H к типу int...
Так при "поиске" шаблона это не будет учитываться...
Т.е. то, что перечисление неявно приводиться к целому...
Yandex
Объявления
04.02.2014, 23:39     Шаблоны no match for call to
Ответ Создать тему
Опции темы

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