Include dans header
Discutez d'informatique ici !
-
adrien69
- Membre Irrationnel
- Messages: 1899
- Enregistré le: 20 Déc 2012, 14:14
-
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 ?
-
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 !
-
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 !
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités