How can I enforce an parameter to be constant know at compile time?

Stefan Koch uplink.coder at googlemail.com
Tue Jun 12 23:06:45 UTC 2018


On Tuesday, 12 June 2018 at 18:27:17 UTC, Dr.No wrote:
> I'd like help of compiler to check this:
>
> consider this:
>
> int f(int n) {
>   m_n = n;
> }
>
> f(10); // ok
> f(myTampleteFunction!(compileTimeParameter)); // ok
> enum n = 10;
> f(n); // I won't use this, but should also be ok
> int x = 10;
> f(x); // error
> int g() { return 20; }
> f(g); // error
>
>
> How can I enforce that?

write a static assert :)


More information about the Digitalmars-d-learn mailing list