Bonjour.

Sauriez vous s'il existe un moyen (et si oui quel est-il) d'initialiser un tableau constant avec une fonction constexpr.

Voici un petit exemple pour illustrer mon problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
template<unsigned int DIM> const unsigned int MyClass<DIM>::_myVar[2][3] = {
{metaFunction(0, 0, DIM), metaFunction(0, 1, DIM), metaFunction(0, 2, DIM)}, 
{metaFunction(1, 0, DIM), metaFunction(1, 1, DIM), metaFunction(1, 2, DIM)}
};
 
template<unsigned int DIM> inline constexpr unsigned int MyClass<DIM>::metaFunction(const unsigned int k, const unsigned int n, const unsigned int dim)
{
    return (((n < dim) && (k < n)) ? (1<<(n-k)) : (0));
}
Actuellement _myVar est initialisée "manuellement" via metaFunction. Y'aurait-il un moyen de faire cela automatiquement (si myVar était un tableau de 9 par 10 c'est déjà plus problématique par exemple) ? Si oui que donnerait cet exemple avec la bonne syntaxe ?

Merci beaucoup