Include dans header

Discutez d'informatique ici !
adrien69
Membre Irrationnel
Messages: 1899
Enregistré le: 20 Déc 2012, 14:14

include dans header

par adrien69 » 17 Sep 2014, 16:35

Salut,
J'essaie d'apprendre le C++ en ce moment, et donc en particulier de compiler séparément mes fichiers.

J'en suis donc venu à essayer de faire un file.h et un file.c

J'ai besoin de déclarer l'utilisation de vector dans mon .h pour donner l'argument de ma fonction. Le problème étant que code::blocks me dit qu'il ne trouve pas le chemin de vector... Voilà le code :

median.h :

Code: Tout sélectionner
#ifndef GUARD_median_h
#define GUARD_median_h
#include
double median(std::vector);
#endif


median.c :

Code: Tout sélectionner
#include "median.h"
#include
#include
#include
#include

using std::domain_error;   using std::sort;   using std::vector;
double median(vector vec)  {
    typedef vector::size_type vec_sz;
    vec_sz size = vec.size();
    if (size == 0)
         throw domain_error("median of an empty vector");
    sort(vec.begin(), vec.end());
    vec_sz mid =  size / 2;
    return size % 2 == 0 ? (vec[mid] + vec[mid-1]) / 2 : vec[mid];
}


Et l'erreur renvoyée :

"C:\Users\adrien\Desktop\c++ tests\median\median.h|3|fatal error: vector: No such file or directory|"

J'ai manqué un truc ?



Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 14:00

par fatal_error » 17 Sep 2014, 16:44

salut,

1) ptet renommer ton .c en .cpp, vector c'est à C++ pas C et ptet ton compilo voit .c il essaie de compiler en c...

2) regarde si le path des includes contient bien vector...
de mémoire, tu prends un fichier
int main(){return 0;}
et tu compiles g++ -v tonfichier.cpp
qui te donne pleins de ligne genre
la recherche pour #include débute ici:
/home/BOB/soft/gcc/build/lib/gcc/x86_64-unknown-linux-gnu/5.0.0/../../../../include/c++/5.0.0

assures toi que tu aies un path vers les includes
la vie est une fête :)

adrien69
Membre Irrationnel
Messages: 1899
Enregistré le: 20 Déc 2012, 14:14

par adrien69 » 17 Sep 2014, 16:51

T'avais raison... Ces ordis nous rendront fous. C'est pourtant Code::blocks qui m'avait dit de le nommer comme ça.

Merci !

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 20:42

par Rockleader » 18 Sep 2014, 00:24

adrien69 a écrit:T'avais raison... Ces ordis nous rendront fous. C'est pourtant Code::blocks qui m'avait dit de le nommer comme ça.

Merci !


C'est pour ça que les IDE je suis pas trop fan, à force de les laisser faire on sait plus vraiment ce qu'on fait...
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite