|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.07.2012, 17:45 | #1 | |
Пользователь
Регистрация: 26.05.2010
Сообщений: 68
|
Ошибка при перегрузке шаблонов функций
Простой шаблон функций: используется для массивов элементов типов int, double, char. Понадобилось добавить такую же функцию для типа string, но там один тип не получится использовать и попробовал сделать перегрузку для шаблона.
Код:
Цитата:
Последний раз редактировалось Andersen1313; 19.07.2012 в 17:47. |
|
19.07.2012, 18:02 | #2 | |||
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2Andersen1313
Цитата:
Код:
Цитата:
Код:
Код:
Цитата:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance Последний раз редактировалось pproger; 19.07.2012 в 18:06. |
|||
19.07.2012, 18:35 | #3 |
Пользователь
Регистрация: 26.05.2010
Сообщений: 68
|
Я понимаю, что вы отвечаете на то, что заметили, но я задал вопрос совершенно по другой части кода. Да сознаюсь ступил скопировал куски кода не подумав.. Но все же вопрос о другом..
И вы уверены что ошибка какая мне выпала это означает? или вы опять ответили на свой вопрос?! Предположим я исправил это, но мне это не помогла как я и ожидал.. Как мне исправить ошибку какая вылезла?! В общем думал думал и решил сделать так: 1) Сначала стер перегруженную функцию какую я налепил; 2) Потом при вызове передал адрес первого символа из строки. В итоге получилось вот что(вместе с исправлениями замечаний, которые мне написали выше): Код:
Последний раз редактировалось Stilet; 19.07.2012 в 19:50. |
19.07.2012, 19:47 | #4 | |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
Цитата:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
|
19.07.2012, 19:50 | #5 | |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
Код:
Цитата:
Код:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
|
19.07.2012, 19:53 | #6 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Нет. Не корректен.
Нет никакой гарантии, что элементы стринга будут лежать в непрерывном блоке памяти. Кстати, ты спутал понятия. Вот твоя задумка: используется для массивов элементов типов int, double, char. А на самом деле ты работаешь с указателями на элементы. Теперь, тебе захотелось что бы твой шаблон начал работать ещё и с контейнерами STL. Если бы ты действительно работал с массивами, тогда шаблон без всяких дрязг был бы совместим с векторами и стрингами. А при минимальных движениях руки, смог бы работать и со всеми остальными контейнерами. Могу предложить тебе такой вариант: работай с массивами. Работай с контейнерами. Не работай с указателями. |
20.07.2012, 07:43 | #7 |
Пользователь
Регистрация: 26.05.2010
Сообщений: 68
|
pproger, спасибо!
|
20.07.2012, 07:44 | #8 |
Пользователь
Регистрация: 26.05.2010
Сообщений: 68
|
А есть какой нибудь искусственный способ проверить такую ситуацию? как нибудь память разбить? заставить записаться строку в память кусками?
|
20.07.2012, 09:40 | #9 |
Пользователь
Регистрация: 26.05.2010
Сообщений: 68
|
А как мне объявить перегруженную функцию для шаблона?:
Код:
Код:
P.S. то объявление какое я написал взял из Липпмана, но походу я что не допонял, потому что мне выпала та же ошибка, что и в первом сообщение в этой теме. Последний раз редактировалось Andersen1313; 20.07.2012 в 09:43. |
20.07.2012, 09:56 | #10 | |
Пользователь
Регистрация: 26.05.2010
Сообщений: 68
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при перегрузке << и >> | DartDayring | Visual C++ | 8 | 07.12.2020 13:42 |
программа в виде шаблонов функций | julia9311 | Общие вопросы C/C++ | 2 | 01.07.2012 23:25 |
C++ Использование функций-шаблонов. | killeraleksana | Помощь студентам | 0 | 10.05.2012 22:44 |
Ошибка при перегрузке операторов. | bill | Общие вопросы C/C++ | 1 | 26.01.2012 21:17 |
Типы аргументов при перегрузке функций | Arkuz | Общие вопросы C/C++ | 4 | 24.02.2009 01:16 |