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 :
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 ?
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)); }
Merci beaucoup![]()
Partager