The correct choice is (c) constant expression
Easiest explanation - Non-type template parameters provide the ability to pass a constant expression at compile time. The constant expression may also be an address of a function, object or static class member.