Challenge 1: A min_value Function Template — Possible Solution ==================================================================== #include template T min_value(T a, T b) { return (a < b) ? a : b; } int main() { std::cout << min_value(10, 4) << std::endl; std::cout << min_value(3.7, 1.2) << std::endl; return 0; } Output: 4 1.2 WHY THIS WORKS AS AN ANSWER ------------------------------ The single template definition works for both calls: min_value(10, 4) deduces T as int, min_value(3.7, 1.2) deduces T as double -- per the chapter, these are two genuinely separate compiled functions under the hood (monomorphization), each fully type-checked as if hand-written for that specific type, even though only one template was written in source.