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

Перегрузка шаблонных функций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Часы http://www.cyberforum.ru/cpp-beginners/thread634020.html
Нужно реализовать программу выполняющую перевод часов и минут в минуты и вычисляющую угол между минутной и часовой стрелкой. Вопрос: где лучше реализовать запрос ввода и его проверку в конструктору...
C++ Класс "Матрица" для нахождения суммы, разности, умножения матриц и суммы элементов матрицы. Всем привет. Вы могли бы протестировать работу на предмет ошибок, и если нетрудно указать места, где можно было бы написать код как-то иначе. В работе требуется создать класс матриц и функции в нём... http://www.cyberforum.ru/cpp-beginners/thread634008.html
Подсчитать количество различных цифр в десятичной записи натурального числа C++
Тема: Строки.Множества. 3.1. Напишите программу, которая вводит строку и выводит ее, сокращая каждый раз на 1 символ до тех пор, пока в строке не останется 1 символ. 3.2. Подсчитать количество...
C++ Как узнать Handle или PID процесса, зная его имя и класс?
Как узнать Handle или PID процесса, зная его имя и класс?
C++ Непонятное условие задачи http://www.cyberforum.ru/cpp-beginners/thread633999.html
Напишите перегруженные версии функции iquote(), которая отображает аргументы, заключенные в двойные кавычки. Напишите три версии: одну для аргумента типа int, другую для аргумента типа double и...
C++ Объявление заголовочных файлов Скажите в чем разница между объявлением вида: #include <iostream> и вида #include "iostream" подробнее

Показать сообщение отдельно
Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355

Перегрузка шаблонных функций - C++

06.08.2012, 21:10. Просмотров 1481. Ответов 8
Метки (Все метки)

Есть сруктура box и два шаблоны для поиска максимального числа. Один для встроенных типов а второй для структуры. Если в функцию передается структура box то она должна возвращать максимальный объем.
Никак не могу правильно сделать вторую шаблонную функцию. Я в комментарии ошибку показал. Подскажите как правильно сделать.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
struct box
{
    char maker[40];
    float height;
    float width;
    float length;
    float volume;
};
 
template <typename T>
T my_max(T a, T b)
{
    return a > b ? a : b;
}
 
template <>
float my_max(const box &b1, const box &b2)  // error: template-id 'my_max<>' for 'float my_max(const box&, const box&)' does not match any template declaration|
{
    return b1.volume > b2.volume ? b1.volume : b2.volume;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.