Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
VadikSh
0 / 0 / 0
Регистрация: 16.07.2011
Сообщений: 13
#1

template (найти ошибку в коде) - C++

09.08.2013, 20:05. Просмотров 334. Ответов 3
Метки нет (Все метки)

Добрый день!

Подскажите, где ошибка? никак не пойму...как нешаблонная ф-я она работает...где-то у меня в оформлении ошибка

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
template <typename T>
void reverse_container(vector<T>::iterator it_beg, vector<T>::iterator it_end)
{
  
     for(it_beg, --it_end; (it_beg!=it_end)&&(it_beg!=it_end-1); ++it_beg, --it_end)
    {
      int temp;
      temp=*it_beg;
      *it_beg=*it_end;
      *it_end=temp;
      cout<<" "<<*it_beg<<" "<<*it_end;
    }
}
выдает ошибку - variable or field `reverse_container' declared void
template declaration of `int reverse_container'
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2013, 20:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос template (найти ошибку в коде) (C++):

Visual Studio выдаёт ошибку при вынесении объявления функции с template в .h файл. Без template всё работает - C++
Проект содержит три файла: Source.cpp, arrTreat.h, arrTreat.cpp. Source.cpp: #include &lt;iostream&gt; using std::cout; using...

Найти сумму целых отрицательных чисел удовлетворяющих условию (найти и исправить ошибку в коде) - C++
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int main() { int y = 0; for(int i = -21; i &lt; -99; i+=3) ...

Найти ошибку в коде - C++
Доброго времени суток! Потихоньку начал изучать данный язык и на первых этапах непонятки. #include &lt;iostream&gt; #include &lt;stdio.h&gt; ...

Найти ошибку в коде - C++
if (PTS&gt;=0 &amp;&amp; PTS&lt;999) title2 = &quot;D-&quot;; if (PTS&lt;=0) title2 = &quot;Noob&quot;; if (PTS&gt;=1000 &amp;&amp; PTS&lt;1999) title2 = &quot;D&quot;; if (PTS&gt;=2000 &amp;&amp;...

Найти ошибку в коде - C++
Не вижу ошибку, кофе видимо плох) #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main () { float pi=3.14151926; int...

Найти ошибку в коде - C++
Я нуб, всех тонкостей не знаю, тапками не кидайте. Вот код: int i = 0; if (i = 0) cout &lt;&lt; &quot;OK&quot;; else cout &lt;&lt; &quot;WTF???&quot;; ...

3
0x10
2479 / 1652 / 248
Регистрация: 24.11.2012
Сообщений: 4,093
09.08.2013, 20:13 #2
Ну видимо как-то так
C++
1
2
template <typename T>
void reverse_container(T it_beg, T it_end)
Добавлено через 1 минуту
Ну и явно временная переменная temp не должна быть типа int.

Добавлено через 54 секунды
11 строка - итератор end не следует разыменовывать...
1
VadikSh
0 / 0 / 0
Регистрация: 16.07.2011
Сообщений: 13
09.08.2013, 20:26  [ТС] #3
тогда в шаблоне и в ф-и должны быть типы - BidirectionalIterator...а без них можно как-то обойтись?
0
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
09.08.2013, 20:30 #4
Цитата Сообщение от VadikSh Посмотреть сообщение
C++
1
vector<T>::iterator
iterator - зависимый от параметра шаблона тип, грубо говоря компилятор не знает тип это, или ещё что. Нужно явно это указать
C++
1
typename vector<T>::iterator
Вообще лучше сделать как писал 0x10.
1
09.08.2013, 20:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2013, 20:30
Привет! Вот еще темы с ответами:

найти ошибку в коде - C++
Дана непустая последовательность слов (не более 50), в каждом слове не более восьми символов. Слова разделены пробелом, за последним словом...

Найти ошибку в коде - C++
программка не работает что не хватает выручайте плиз!! #include&lt;iostream&gt; #include&lt;string&gt; using namespace std; class student...

Найти ошибку в коде - C++
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;windows.h&gt; using namespace std; void main (void)...

Найти ошибку в коде - C++
Где ошибка? #include &lt;iostream.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; main () { clrscr(); float x,y; cout &lt;&lt;...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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