#include "template.h" template T sum(T a, T b) { return a + b; } template <> int sum(int a, int b) { return a + b; } void work() { double x = sum(0.1, 0.2); int y = sum(-1, 2); unsigned int z = sum(1, 2); int v = diff(9, 5); double w = diff(0.5, 0.3); }