IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

template et boucles :/


Sujet :

Langage C++

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Par défaut template et boucles :/
    Bonsoir,
    nous avons un gros souci dans notre code qui est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    for (int i = 0; i < nbICell.size(); ++i){
     
    					std::vector<T> coord;
     
    					//on va creer nos points
     
    					while (cmp < nbICell[i]){
     
    						//les 0-cellules
     
    						if(i == 0){
     
    							coord = listFieldLine(listLine[cmp + cmp2]);
     
    							Point<dimensionPoint,T> * point = new Point<dimensionPoint,T>();
     
    							for (int j = 0 ; j < coord.size() ; ++j){
     
    								(*point)[j] = coord[j]; 
     
    							}
     
    							add0Cell(*point);
     
    						}
     
    						//les i-cellules
     
    						else{
     
    							coord = listFieldLine(listLine[cmp + cmp2]);
     
    							//listICell * border = _structComplex[0];
     
    							//cout << border->size() << std::endl;
     
    							AbstractICell * lol = new ICell<i,2,int>();
     
    							//border->displayICell();
     
    							//AbstractICell iCellTemp;
     
    							//for (int j = 0 ; j < coord.size() ; ++j){
     
    							//	border->push_back(coord[j]);
     
    							//}
     
    							//std::cout << std::endl;
     
    						}
     
    						cmp ++;						
     
    					}
     
    					cmp2 += cmp;
     
    					cmp = 0;
     
    				}
    Le problème c'est que le :

    AbstractICell * lol = new ICell<i,2,int>();

    nous en avons besoin absolument. Comment pourrions-nous faire avec ce "i" qu'on ne peut pas utiliser car il doit être connu avant compilation hors cela est impossble puisqu'il doit varier :/

    Si quelqu'un a une solution alternative nous sommes preneur !

  2. #2
    Membre émérite
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 552
    Par défaut
    Citation Envoyé par byakuichi Voir le message
    Si quelqu'un a une solution alternative nous sommes preneur !
    A froid, je dirais : En n'utilisant pas les templates là où elles ne sont pas appropriées.

    Le fait que vous écriviez la ligne qui suit me fait penser que vous mixez template et virtual au petit bonheur la chance.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AbstractICell * lol = new ICell<i,2,int>();
    Après, hors contexte, c'est pas facile de voir ce que vous avez derrière la tête avec ce code...

    bye

  3. #3
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par défaut
    soit c'est dynalique, ca passe par le constructeur
    soit c'est vraiment statique et faut faire une meta-boucle

Discussions similaires

  1. [XSLT] Sortie de template/boucle : par récursivité ?
    Par pegazuss5 dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 01/12/2010, 22h50
  2. [Metaprogramation]Boucle for template (très) générique
    Par méphistopheles dans le forum Langage
    Réponses: 25
    Dernier message: 20/07/2010, 10h52
  3. [Template] Template et boucle for
    Par Bakura dans le forum Langage
    Réponses: 4
    Dernier message: 27/10/2008, 14h11
  4. Une boucle en template, comment faire?
    Par iflypunk dans le forum Général Python
    Réponses: 7
    Dernier message: 24/01/2008, 18h28
  5. 2 boucles et Templates
    Par AlphonseBrown dans le forum Langage
    Réponses: 2
    Dernier message: 08/10/2005, 19h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo