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

Почему я не попадаю в специализацию шаблона? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удаление объекта из вектора http://www.cyberforum.ru/cpp-beginners/thread1530303.html
Как удалить объект из вектора в таком случае: Main *mn = new Main(wd,100,100); objArray.push_back(*mn);
C++ Что такое потоки? Просмотрел ряд статей про потоки, но там все про создание и использование. А объяснения, что из себя представляет поток нет. Может кто пояснить? http://www.cyberforum.ru/cpp-beginners/thread1530301.html
В матрице найти сумму и произведение элементов строк C++
Тема: Анализ задачи Цель: Отработать умение анализа задач,составить алгоритм и програму. Проанализировать задачу: составить алгоритм,составить програму,отладить програму. Задание:Нахождения...
C++ Почему не вызывается конструктор копирования при возврате объекта из функции
Добрый день! Насколько мне известно, конструктор копирования вызывается: 1) при передачи объекта как аргумента функции 2) при возвращении объекта из функции.
C++ Вычислить условное выражение http://www.cyberforum.ru/cpp-beginners/thread1530261.html
Нужно как-то написать на c++ с использовав ( if else )если можно опишите подробно описать процесс мне еще 4 задания делать похожих {deleted} y={sin}^{2}\varphi...
C++ Вызов прегруженного оператора вывода в поток из аналогичного оператора Программирую в c9.io с g++ получается тоже самое. Элементами стека(pointList) являются стеки(list) для которых уже определен оператор вывода в поток, но программа просто выводит адреса(адреса... подробнее

Показать сообщение отдельно
ture
441 / 334 / 126
Регистрация: 27.11.2014
Сообщений: 1,042

Почему я не попадаю в специализацию шаблона? - C++

14.09.2015, 11:00. Просмотров 167. Ответов 1
Метки (Все метки)

Почему я не попадаю в специализацию шаблона?
template<> box& max(box&, box&);

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<iostream>
 
struct box {
    char maker[40];
    float height;
    float width;
    float length;
    float volume;
};
 
 
template<typename T> T    max(T, T);
template<>           box& max(box&, box&);
 
int main() {
    box a = {"6abc", 1, 2, 3, 6};
    box b = {"12 abc", 2, 2, 3, 12};
 
    std::cout << max((a),(b)).maker;  //НЕ ПОПАДАЮ В СПЕЦИАЛИЗИРОВАННЫЙ ШАБЛОН, если не указываю его max<box&>(a,b).maker
 
    system("pause");
    return 0;
}
 
template<typename T> T max(T a, T b) {
    return a > b ? a : b;
}
 
template<> box& max(box &a, box &b) {
    return a.volume > b.volume ? a : b;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru