Je rencontre quelques problemes avec l'utilisation
des STLs avec le compilateur g++ 3.0 (gcc version 3.0.4).
Avec la version 2.95 (gcc version 2.95.4 20011002 (Debian prerelease),
je n'ai aucun probleme.
Voici le code source:
#ifdef __GNUC__
#if __GNUC__ < 3
#include <hash_map.h>
namespace Sgi { using ::hash_map; }; // inherit globals
#else
#include <ext/hash_map>
#if __GNUC_MINOR__ == 0
namespace Sgi = std; // GCC 3.0
#else
namespace Sgi = ::__gnu_cxx; // GCC 3.1 and later
#endif
#endif
#else // ... there are other compilers, right?
namespace Sgi = std;
#endif
using namespace std;
//TODO: include this definition in the Hashtable class
template<> struct hash<string>
{
size_t operator()(const string& s) const
{
return hash<char const*>()(s.c_str());
}
};
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Alexandre
"Luc Mazardo" a écrit dans le message de news:
Bonjour,
Je rencontre quelques problemes avec l'utilisation des STLs avec le compilateur g++ 3.0 (gcc version 3.0.4). Avec la version 2.95 (gcc version 2.95.4 20011002 (Debian prerelease), je n'ai aucun probleme. Voici le code source:
Et où qu'il est le problème ? Essayé avec un autre compilo, bien sur ça compile pas : impossible d'ouvrir "pair.h" "virtual" ne peut être employé qu'avec des fonctions membres non modèles nom de type attendu (sur une déclaration de vector, normal car vector n'est pas inclus
je suppose que "pair.h" c'est la définition de la paire "classique". Inutile car amenée par map. Donc je vire. Je rajoute l'inclusion de vector. Et là, ça compile toujours pas : nom de type attendu sur "hash_map"... qui n'est effectivement pas standard AMA. C'est donc surprenant que ça passe avec gcc, non ?
"Luc Mazardo" <Luc.Mazardo@cvf.fr> a écrit dans le message de
news:m03caaahoq.fsf@beepbeep.dev33.cvf...
Bonjour,
Je rencontre quelques problemes avec l'utilisation
des STLs avec le compilateur g++ 3.0 (gcc version 3.0.4).
Avec la version 2.95 (gcc version 2.95.4 20011002 (Debian prerelease),
je n'ai aucun probleme.
Voici le code source:
Et où qu'il est le problème ?
Essayé avec un autre compilo, bien sur ça compile pas :
impossible d'ouvrir "pair.h"
"virtual" ne peut être employé qu'avec des fonctions membres non modèles
nom de type attendu (sur une déclaration de vector, normal car vector n'est
pas inclus
je suppose que "pair.h" c'est la définition de la paire "classique". Inutile
car amenée par map. Donc je vire.
Je rajoute l'inclusion de vector.
Et là, ça compile toujours pas : nom de type attendu sur "hash_map"... qui
n'est effectivement pas standard AMA.
C'est donc surprenant que ça passe avec gcc, non ?
Je rencontre quelques problemes avec l'utilisation des STLs avec le compilateur g++ 3.0 (gcc version 3.0.4). Avec la version 2.95 (gcc version 2.95.4 20011002 (Debian prerelease), je n'ai aucun probleme. Voici le code source:
Et où qu'il est le problème ? Essayé avec un autre compilo, bien sur ça compile pas : impossible d'ouvrir "pair.h" "virtual" ne peut être employé qu'avec des fonctions membres non modèles nom de type attendu (sur une déclaration de vector, normal car vector n'est pas inclus
je suppose que "pair.h" c'est la définition de la paire "classique". Inutile car amenée par map. Donc je vire. Je rajoute l'inclusion de vector. Et là, ça compile toujours pas : nom de type attendu sur "hash_map"... qui n'est effectivement pas standard AMA. C'est donc surprenant que ça passe avec gcc, non ?
Luc Mazardo
"Alexandre" a écrit le mardi 20 janvier 2004 :
"virtual" ne peut être employé qu'avec des fonctions membres non modèles nom de type attendu (sur une déclaration de vector, normal car vector n'est pas inclus desole je n'avais donner le source entier.
Et là, ça compile toujours pas : nom de type attendu sur "hash_map"... qui n'est effectivement pas standard AMA. C'est donc surprenant que ça passe avec gcc, non ? en fait ca passe avec g++ version 2.95 mais pas le 3.00.
Merci quand meme.
--
"Alexandre" <alex.g@netcourrier.com> a écrit le mardi 20 janvier 2004 :
"virtual" ne peut être employé qu'avec des fonctions membres non modèles
nom de type attendu (sur une déclaration de vector, normal car vector n'est
pas inclus
desole je n'avais donner le source entier.
Et là, ça compile toujours pas : nom de type attendu sur "hash_map"... qui
n'est effectivement pas standard AMA.
C'est donc surprenant que ça passe avec gcc, non ?
en fait ca passe avec g++ version 2.95 mais pas le 3.00.
"virtual" ne peut être employé qu'avec des fonctions membres non modèles nom de type attendu (sur une déclaration de vector, normal car vector n'est pas inclus desole je n'avais donner le source entier.
Et là, ça compile toujours pas : nom de type attendu sur "hash_map"... qui n'est effectivement pas standard AMA. C'est donc surprenant que ça passe avec gcc, non ? en fait ca passe avec g++ version 2.95 mais pas le 3.00.
Merci quand meme.
--
syn-vador VS obilan clémobil (alias ben soussan)
Luc Mazardo wrote:
"Alexandre" a écrit le mardi 20 janvier 2004 :
"virtual" ne peut être employé qu'avec des fonctions membres non modèles nom de type attendu (sur une déclaration de vector, normal car vector n'est pas inclus desole je n'avais donner le source entier.
Et là, ça compile toujours pas : nom de type attendu sur "hash_map"... qui n'est effectivement pas standard AMA. C'est donc surprenant que ça passe avec gcc, non ? en fait ca passe avec g++ version 2.95 mais pas le 3.00.
Merci quand meme.
je repond peut etre a coté, car jai survolé ton post, mais essai de metre la
derniere version de g++ et apres tu mets glibc, moi ca ma corrigé mes problemes.
Luc Mazardo wrote:
"Alexandre" <alex.g@netcourrier.com> a écrit le mardi 20 janvier 2004 :
"virtual" ne peut être employé qu'avec des fonctions membres non modèles
nom de type attendu (sur une déclaration de vector, normal car vector
n'est pas inclus
desole je n'avais donner le source entier.
Et là, ça compile toujours pas : nom de type attendu sur "hash_map"...
qui n'est effectivement pas standard AMA.
C'est donc surprenant que ça passe avec gcc, non ?
en fait ca passe avec g++ version 2.95 mais pas le 3.00.
Merci quand meme.
je repond peut etre a coté, car jai survolé ton post, mais essai de metre la
derniere version de g++ et apres tu mets glibc, moi ca ma corrigé mes
problemes.
"virtual" ne peut être employé qu'avec des fonctions membres non modèles nom de type attendu (sur une déclaration de vector, normal car vector n'est pas inclus desole je n'avais donner le source entier.
Et là, ça compile toujours pas : nom de type attendu sur "hash_map"... qui n'est effectivement pas standard AMA. C'est donc surprenant que ça passe avec gcc, non ? en fait ca passe avec g++ version 2.95 mais pas le 3.00.
Merci quand meme.
je repond peut etre a coté, car jai survolé ton post, mais essai de metre la
derniere version de g++ et apres tu mets glibc, moi ca ma corrigé mes problemes.