#include <iostream>

using namespace std;

template <class T>
    T Max(T a, T b) {
        return a > b ? a : b;
    };

struct box {
    double height;
    double width;
    double length;
    double volume;
};

void setVolume(box &b) {
    b.volume = b.height * b.width * b.length;
}

template<>
box Max<box>(box b1, box b2) { //Ошибка
    return b1.volume > b2.volume ? b1 : b2;
}

int main() {
    box b1 = { 5, 4, 2 };
    box b2 = { 10, 10, 2 };
    setVolume(b1);
    setVolume(b2);
    cout << Max(b1, b2).volume << endl;
}
