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

C++ Discussion :

error: expression must have a constant value


Sujet :

C++

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 299
    Points : 140
    Points
    140
    Par défaut error: expression must have a constant value
    Bonjour,

    j'ai cette erreur quand je compile mon code:

    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
    __device__ __host__ inline double cost(int* const algSeq, int s1, int s2){
    	double l_score=0;
    	unsigned int algSeqOffset1=s1*global_max_length, algSeqOffset2=s2*global_max_length;
    	for(int i=0; i<global_max_length; i++){
    		AA res1= (AA) algSeq[algSeqOffset1+i], res2 = (AA) algSeq[algSeqOffset2+i];
    		l_score+=d_costMatrix[res1+res2*AA_NUMBER];
    	}
    	return l_score;
    }
    
    __device__ __host__ inline int onlyGapPenalty(int* const algSeq){
    	int p_score=0;
    	int seqOffset[nb_seq];
    	for(int i=0; i<nb_seq; i++) seqOffset[i]=i*global_max_length;
    	
    	for(int i=0; i<global_max_length; i++){
    		int l_score=0;
    		for(int j=0; j<nb_seq; j++){
    			l_score+=algSeq[seqOffset[j]+i];
    		}
    		if ((l_score>=GO*nb_seq)&&(l_score<GT*nb_seq)) p_score+=(-10);
    	}
    	return p_score;
    }
    j'ai mis en gras, la ligne où l'erreur est annoncé.

    Je comprends pas du tout le problème.

    Alaninho

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 963
    Points
    32 963
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    d'où sort nb_seq ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    1 255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 255
    Points : 2 627
    Points
    2 627
    Par défaut
    Tu es sûre que ce n'est pas plutôt cette ligne ?Si nb_seq est un "int" et pas un "const int", ça génère ton erreur.

    EDIT : grillé Bousk, je crois qu'on pense à la même chose.

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,

    D'où l'utilisation de std::vector pour un tableau dynamique (std::array pour un tableau statique)

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 299
    Points : 140
    Points
    140
    Par défaut
    En faite c'était le nb_seq qui était un int, c'est pour ça.

    Merci à vous de m'avoir répondu.


    Alaninho

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Anjuta - **Error**: You must have `libtool' installed.
    Par Paenitentia dans le forum Debian
    Réponses: 13
    Dernier message: 04/06/2015, 19h48
  2. Réponses: 2
    Dernier message: 24/04/2008, 15h31
  3. Réponses: 2
    Dernier message: 02/04/2008, 13h21
  4. case expressions must be constant expressions
    Par semaj_james dans le forum Langage
    Réponses: 9
    Dernier message: 17/07/2007, 17h28
  5. field must have value
    Par Mihalis dans le forum Bases de données
    Réponses: 22
    Dernier message: 14/11/2006, 17h41

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