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 :

Nouvelle erreur de compil pour me rendre fou (ou plus)


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut Nouvelle erreur de compil pour me rendre fou (ou plus)
    Le 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
    
    	// Trouver la KF la plus proche inférieur ou égale à frameNumber
    	map<long,long>::iterator it = index->upper_bound(frameNumber);
    	it--;
    	// Si aucune KF
    	if (it < index->begin()) {
    		// le prevRaster devient l'image vide
    		delete prevRaster;
    		prevRaster = new RasterLike(*getEmptyRaster());
    		prevRasterFrameNumber = frameNumber;
    
    		return prevRaster;
    	}
    Le cauchemard :


    cov001.cpp
    f:\program files\avisynth 2.5\avisynth_256_src\avsdll\cov001.cpp(227) : error C2784: 'bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &)' : impossible de déduire l'argument modèle pour 'const std::_Tree<_Traits> &' à partir de 'std::_Tree<_Traits>::iterator'
    with
    [
    _Traits=std::_Tmap_traits<long,long,std::less<long>,std::allocator<std::pair<const long,long>>,false>
    ]
    f:\program files\microsoft visual studio 8\vc\include\xtree(1372) : voir la déclaration de 'std::operator <'

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    C'est pourtant assez explicite, l'opérateur < n'est pas défini pour ce type d'itérateurs. Il ne l'est que pour les itérateurs de type "accès aléatoire" (? à vérifier), ceux des vector (uniquement ?) en l'occurence.

    Si l'élément que tu recherches n'existe pas, alors ton itérateur vaudra index->end(). C'est le seul itérateur non valide qu'un conteneur de la STL pourra jamais te renvoyer.

  3. #3
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Citation Envoyé par Laurent Gomila
    (uniquement ?)
    Nope. Ceux des tableaux statiques aussi : un pointeur est un itérateur trivial à accès direct.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int i[42];
    assert(boost::begin(i) < boost::end(i));
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 258
    Par défaut
    Citation Envoyé par Laurent Gomila
    Il ne l'est que pour les itérateurs de type "accès aléatoire" (? à vérifier)
    C'est le cas, en tout cas selon SGI http://www.sgi.com/tech/stl/RandomAccessIterator.html

    Citation Envoyé par Laurent Gomila
    ceux des vector (uniquement ?) en l'occurence.
    Et deque aussi.

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Y a t'il un substitu à cette opération ?

  6. #6
    Membre émérite
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Par défaut
    Boost ne peux pas t'aider dans ce cas ?

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Citation Envoyé par SnakemaN
    Boost ne peux pas t'aider dans ce cas ?
    Boost n'est pas encore le standard actuel et je préfère ne pas simplement esquiver les problèmes ^^

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Citation Envoyé par Sergejack
    Y a t'il un substitu à cette opération ?
    Citation Envoyé par Moi
    Si l'élément que tu recherches n'existe pas, alors ton itérateur vaudra index->end(). C'est le seul itérateur non valide qu'un conteneur de la STL pourra jamais te renvoyer.

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    strcomp ("C'est le seul itérateur non valide qu'un conteneur de la STL pourra jamais te renvoyer.", "Il n'y a pas d'autres solutions.") != 0

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

Discussions similaires

  1. Erreur de compilation (pour tous les programmes)
    Par LittleWhite dans le forum Qt
    Réponses: 10
    Dernier message: 28/11/2010, 12h46
  2. [JAX WS] Erreur de compilation pour les classes générées
    Par seigneur.viggen dans le forum Services Web
    Réponses: 2
    Dernier message: 07/08/2009, 12h52
  3. erreur de compil pour curl
    Par webfranc dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 12/12/2008, 21h22
  4. Erreur à la compilation pour un bouton créé dynamiquement
    Par echap2000 dans le forum C++Builder
    Réponses: 5
    Dernier message: 20/08/2008, 17h23
  5. Réponses: 2
    Dernier message: 30/05/2008, 11h56

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