explication de syntaxe template
Bonjour,
Je veux écrire une fonction de ce genre
Code:
1 2 3 4 5
| constexpr int foo(const int bar)
{
static_assert(bar<32, "Use a lower number please");
return something_const;
} |
Mais ça ne compile pas car
Citation:
error: non-constant condition for static assertion
J'ai trouvé sur le net cette solution
Code:
1 2 3 4 5 6
| template<int bar>
constexpr int foo()
{
static_assert(bar<32, "Use a lower number please");
return something_const;
} |
Je crois avoir compris l'idée générale, néanmoins je ne comprends pas cette écriture.
J'avoue que les templates, j'ai toujours eu du mal avec l'écriture.
Peut-on m'expliciter la syntaxe ?