![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
Tribunal |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
прграмма должна выполднять следующие действия:
-выяислять произведение отрицательных эл-тов одномерного массива -находить сумму эл-тов до максимального эл-та. но вся прблема в шаблонах. я сделала шаблон (1)для ф-ии нахождения максимума и (2)объединение вышеуказанных действий в одну функцию... до того,как яя сделала (2) всё работало хорошо. а сейчас он говорит,что нет соответствующей ф-ии с названием act. не могу понять в чем проблема=( #include <iostream.h> -------------------- irreparabilium felix olivio rerum
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
до того,как яя сделала (2) всё работало хорошо. а сейчас он говорит,что нет соответствующей ф-ии с названием act. не могу понять в чем проблема=( Компилятор прав... Смотри, что ты делаешь внутри act: for (int i=0;i<iMax(x,k);i++) s=s+x[i];То есть, тебе iMax должна вернуть int в любом случае, так? Почему же ты описываешь тип возвращаемого значения iMax шаблонным типом T? Это должен быть int Это первое... Второе: int и const int в С++ - совершенно разные вещи, и перемешивать их компилятор тебе не позволит... Автоматически преобразование неконстантной переменной в константную не делается, поэтому при описании шаблона ты должна дописывать const, если не хочешь делать приведение вручную при вызове функции iMax... Ну, и третье... До тех пор, пока ты не перенесешь реализацию шаблонных функций выше основной программы, откуда они вызываются, программа не откомпилируется, потому, что компилятор просто не знает, что подставлять, и допустимо ли это... Кстати, вместо того, чтобы работать с указателями при возвращении параметра (аналог Var-параметров в Паскале), С++ имеет очень хорошую замену в виде ссылок... Вот так я бы переделал твою программу: #include <iostream.h> |
Tribunal |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
большое спасибо!
теперь всё предельно ясно =) -------------------- irreparabilium felix olivio rerum
|
![]() ![]() |
![]() |
Текстовая версия | 17.06.2025 23:48 |