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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
insideone
Модератор
Автор FAQ
3638 / 916 / 49
Регистрация: 10.01.2010
Сообщений: 2,468
#1

Шаблоны классов. Ошибка параметра по умолчанию - C++

21.04.2010, 23:23. Просмотров 1680. Ответов 11
Метки нет (Все метки)

Есть
C++
1
template <class data_type> class List;
и
C++
1
2
typedef unsigned char point_dist;
template <class data_type = point_dist> class point;
Первая из ошибок...
C++
1
2
3
4
5
6
class PathFind{
    point_dist** map;
    point_dist xlen, ylen;
    List<point> Path;
// ...
}
А именно на этой строке
C++
1
List<point> Path;
error C3203: point: неспециализированный класс шаблон нельзя использовать в качестве аргумента шаблон для параметра шаблон "data_type", ожидается действительный тип
Если указать параметр
C++
1
List<point<int>> Path;
Ошибка пропадает. Но мне хотелось бы чтобы параметр по умолчанию работал, т.к. мне чаще приходится работать с классом одного типа и раздувать запись и переписывать предыдущий код не очень хочется. Что не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2010, 23:23     Шаблоны классов. Ошибка параметра по умолчанию
Посмотрите здесь:

ошибка при компиляции проги, использущей шаблоны классов - C++
Возникла ошибка при компиляции проги, использующей шаблоны. Ошибка - undefined symbol /*...*/ in module main.cpp (линковщик не может...

Шаблоны классов: непонятная ошибка в одном из методов класса - C++
Задача создать шаблон двоичного дерева поиска. В методе удаления узла IntelliSense выдает ошибку: ссылается на if и пишет: &quot;требуется...

Шаблоны классов. Ошибка `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){} ...

Шаблоны и параметр по умолчанию - C++
Добрый день. Вроде всё делаю по учебнику, но компилятор не пропускает: #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;cstdlib&gt; ...

Шаблоны классов - C++
Всем привет!!! Подскажите пожалуйста в чем ошибка ? class PRIMA должен работать с типом int и float шаблон создал по этой...

Шаблоны классов - C++
Помогите пожалуйста написать шаблон класса двумерный числовой массив(матрица) Методы: конструктор с параметрами, деструктор ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Seishin
12 / 12 / 2
Регистрация: 15.04.2010
Сообщений: 31
21.04.2010, 23:53     Шаблоны классов. Ошибка параметра по умолчанию #2
C++
1
List< point<> > Path;
Так вот применяются параметры по умолчанию
insideone
Модератор
Автор FAQ
3638 / 916 / 49
Регистрация: 10.01.2010
Сообщений: 2,468
22.04.2010, 00:51  [ТС]     Шаблоны классов. Ошибка параметра по умолчанию #3
Спасибо, действительно заработало. Странно, ведь в stl сплошные шаблоны но указывать ничего не надо, как так? Дополнительные <> писать как то не очень красиво...
Seishin
12 / 12 / 2
Регистрация: 15.04.2010
Сообщений: 31
22.04.2010, 00:59     Шаблоны классов. Ошибка параметра по умолчанию #4
Шаблонов в stl то конечно много, но чтот я там не часто видел, чтобы ВСЕ параметры задавались по умолчанию, обычно там есть обязательные параметры, поэтому, наверно, не обращаешь внимание на необязательные...
insideone
Модератор
Автор FAQ
3638 / 916 / 49
Регистрация: 10.01.2010
Сообщений: 2,468
22.04.2010, 14:49  [ТС]     Шаблоны классов. Ошибка параметра по умолчанию #5
Seishin, Т.е. нормальным решением данного вопроса остается только написание <> всегда когда надо использовать параметр по умолчанию или написание такого
C++
1
typedef point<> ipoint;
И вызов cpoint когда речь идет о параметре по умолчанию?
Seishin
12 / 12 / 2
Регистрация: 15.04.2010
Сообщений: 31
22.04.2010, 17:03     Шаблоны классов. Ошибка параметра по умолчанию #6
Тебя красота что ли волнует... Другого решения я не знаю, да и, думаю, нет его... А typedef-ить - это уже личное дело, мне кажется, что так несколько запутаннее получается( в данном случае ).
insideone
Модератор
Автор FAQ
3638 / 916 / 49
Регистрация: 10.01.2010
Сообщений: 2,468
22.04.2010, 17:24  [ТС]     Шаблоны классов. Ошибка параметра по умолчанию #7
Мне тяжело ориентироваться в коде где много <>. Незнаю уж почему )
Seishin
12 / 12 / 2
Регистрация: 15.04.2010
Сообщений: 31
22.04.2010, 21:24     Шаблоны классов. Ошибка параметра по умолчанию #8
Гыы, ну не думаю, что у тя задача написать свою stl, в которую порой залезешь посмотреть и только и остается тихо офигевать - как все это работает и блин где тут начало))
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
22.04.2010, 21:29     Шаблоны классов. Ошибка параметра по умолчанию #9
может попробовать такую запись тогда?
C++
1
typedef point<point_dist> PointD;
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
22.04.2010, 21:34     Шаблоны классов. Ошибка параметра по умолчанию #10
insideone, Seishin прав, для использования аргументов по умолчанию нужно указывать пустые скобки. Подробнее здесь.
insideone
Модератор
Автор FAQ
3638 / 916 / 49
Регистрация: 10.01.2010
Сообщений: 2,468
22.04.2010, 21:57  [ТС]     Шаблоны классов. Ошибка параметра по умолчанию #11
Seishin, это точно)) да нет, я так.. по мелочи

fasked, заметьте - я выше об этом догадался пожалуй это единственный для меня вариант)

CyBOSSeR, будем знать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2010, 22:30     Шаблоны классов. Ошибка параметра по умолчанию
Еще ссылки по теме:

Шаблоны классов - C++
Всем привет. Я только зарегистрировался и не имею опыта в созданиях темы на каких либо форумах. Поэтому я надеюсь вы небудете строги к...

Шаблоны классов - C++
Всем доброго вечера. Помогите разобраться с шаблонами классов. Пусть есть template&lt;typename T&gt; class listItem { ...

Шаблоны классов - C++
Добрый день. Изучаю шаблоны классов в С++ в среде MVC 2006. Проблема в следующем: я создал шаблон класса стек, с размером этого самого...

Шаблоны классов - C++
Доброго времени суток, возникла такая проблема- задали сделать программу с шаблоном-классов, не знаю как это воплотить, вот задание: ...


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

Или воспользуйтесь поиском по форуму:
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
22.04.2010, 22:30     Шаблоны классов. Ошибка параметра по умолчанию #12
Цитата Сообщение от insideone Посмотреть сообщение
fasked, заметьте - я выше об этом догадался пожалуй это единственный для меня вариант)
не заметил
Yandex
Объявления
22.04.2010, 22:30     Шаблоны классов. Ошибка параметра по умолчанию
Ответ Создать тему
Опции темы

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