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 :

vector was not declared


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2009
    Messages : 46
    Points : 48
    Points
    48
    Par défaut vector was not declared
    Voilà,
    je commence enfin le tutoriel pour apprendre le C++, mais croyant faire du zèle, je me confronte à une erreur de compilation que je n'arrive pas à expliquer !
    Le but de l'exercice est de simplement remplir un tableau dynamique de valeurs, puis de calculer la moyenne avec une fonction située dans un autre fichier, ça donne ça :

    main.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include <iostream>
    #include <vector>
    #include "math.h"
     
    using namespace std ;
     
    int main(){
        vector<double> notes(3, 2);
        for(int i(0) ; i<3 ; i++){
            notes.push_back(i);
        }
        cout << "Moyenne = " << moyenne(notes) ;
    }
    math.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <iostream>
    #include <vector>
    #include "math.h"
     
    double moyenne(vector<double> a){
        double res(0.0);
        for(int i(0) ; i<a.size() ; i++){
            res+=a[i];
        }
        res/=a.size();
        return(res);
    }
    math.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #ifndef MATH_H_INCLUDED
    #define MATH_H_INCLUDED
    double moyenne(vector<double> a);
     
    #endif // MATH_H_INCLUDED
    L'erreur de compilation pointe donc une non déclaration de vector dans le math.h, et je ne vois pas pourquoi.
    merci

  2. #2
    screetch
    Invité(e)
    Par défaut
    le fichier header utilise "vector" lors de la declaration de moyenne; il faut donc que le fichier vector soit inclus avant ET que le namespace std soit précisé d'une manière ou d'une autre, avant que le compilateur n'arrive la.

    Pour etre 100% sur, inclus vector dans le fichier header (et dans tous les fichiers ou tu en as besoin pourde vrai) et utilise le nom complet; std::vector

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2009
    Messages : 46
    Points : 48
    Points
    48
    Par défaut
    Super, merci ! en effet, faut rajouter std::vector tout simplement

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

Discussions similaires

  1. was not declared in this scope
    Par Monta^^ dans le forum C++
    Réponses: 3
    Dernier message: 14/07/2009, 16h17
  2. error : 'tr' was not declared in this scope
    Par jimaitou dans le forum Débuter
    Réponses: 3
    Dernier message: 13/05/2009, 13h54
  3. getaddrinfo was not declared in this scope ?
    Par dr.c0der_ dans le forum C
    Réponses: 2
    Dernier message: 30/04/2009, 02h14
  4. QFormLayout was not declared in this scope
    Par kronos85 dans le forum Débuter
    Réponses: 5
    Dernier message: 11/12/2008, 02h30
  5. Réponses: 3
    Dernier message: 03/06/2007, 15h29

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