Template Definition in Headers

Why do template function definitions typically need to be in header files rather than .cpp files?