Bonjour,
J'essaie d'utiliser les templates en C++. Aujourd'hui, je pensais faire un Vector (dans le sens, vertex, mais dans un système de coordonnées N). Je pensais faire des spécialisations de template, pour N = 3 et N = 4.
Mais finalement, cela m'a forcé à copier / coller les fonctions de vector<T,N> pour les avoir dans le vector<T,3>. Ok, j'ai compris ma première erreur en lisant la FAQ -> http://cpp.developpez.com/faq/cpp/?p...specialisation
Du coup, je fais du copier-coller. Ce n'est pas génial.La spécialisation de classe est elle plus contraignante car il faut redéfinir la totalité de celle-ci.
J'imagine que j'ai donc pris une mauvaise direction. Notamment car il se peut que je n'aurais jamais besoin de mon vector<T,N>
Bref, toujours est il, que j'aimerais connaitre la syntaxe qu'il faut utiliser dans le cas:
Est ce possible de l'écrire, ou alors, je fait vraiment n'importe quoi?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // Vector de base template <typename T, unsigned int N> struct Vector { // Mon code } // Ma spécialisation: template <typename T> struct Vector3<T,3> // Erreur de compilation ici { }
Partager