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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
septe-mber
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 123
#1

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

04.02.2014, 22:58. Просмотров 484. Ответов 3
Метки нет (Все метки)

Привет всем! вот так написал шаблон
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++

как правильно вызвать эту функцию с шаблоном ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2014, 22:58     Шаблоны no match for call to
Посмотрите здесь:

Шаблоны классов. Ошибка `unable to match function definition to an existing declaration` - C++
#pragma once template &lt;typename T = int&gt; class SingleBuffer { public: SingleBuffer(T fd): field(fd), state(true){} ...

No match for 'operator<<' - C++
имеется простой класс и программа для его тестирования. В программе имеется функция принимающая ссылку на экземпляр класса и выводящая на...

Ошибка: no match for 'operator>>' - C++
Не могу понять в чем проблема, объясните пожалуйста..

Error: no match for 'operator!=' - C++
код метода: // lnum это vector&lt;int&gt; , base - const int void Verylong::normal() { for (auto i = lnum.begin(); i !=...

Ошибка: no match for 'operator<<' - C++
Добрый вечер! Отрывок из main() cout &lt;&lt; &quot;\n\n LIST &quot; &lt;&lt; endl; list&lt;GradStudent&gt; l; list&lt;GradStudent&gt;::iterator it; ...

No match for 'operator=' . Что не так? - C++
во всей программе выбивает только одну ошибку.. надоел этот вопрос но что не так???????? 92 no match for 'operator=' in 'P3 =...

В чем причина ошибки no match for? - C++
Видает ошибку no match for 'operator=' in 'C = RyadokIdentifier::operator+(const RyadokIdentifier&amp;)((*(const RyadokIdentifier*)(&amp; B)))' ...

Code::blocks error: no match for 'operator[]' in 'SP[i]' - C++
Собственно всё в названии, почему-то оператор ждёт чего-то другого, по форуму поискал ничего не подошло, может помогут знатоки. Вроде бы...

unable to match function definition to an existing declaration - C++
возникают ошибки, природа которых не слишком понятна: 1)в специализации функции FindEl показывает ошибку с таким текстом:&quot;unable to match...

Ошибка при запуске проекта: error: no match for ‘operator>>’ - C++
В NetBeans создал проект: Добавлено через 1 минуту #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main()...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
1438 / 1167 / 61
Регистрация: 21.04.2012
Сообщений: 2,436
Завершенные тесты: 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!
1438 / 1167 / 61
Регистрация: 21.04.2012
Сообщений: 2,436
Завершенные тесты: 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
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru