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 :

pb compilation


Sujet :

C++

  1. #1
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut pb compilation
    Bonjour à tous!
    J'utilise une librairie image sous forme un seul include .h
    Sous Code::Blocks, mon projet compile. Par contre, sous VC++.net, j'ai une erreur dans le .h ? Etrange quand même.
    Voici le bout qui ne marche pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    // Remove the image at position pos from the image list.
    CImgl& remove(constunsignedint pos) {
    if (shared)
    throw CImgInstanceException("CImgl<%s>::remove() : Removal from a shared list is not allowed.",pixel_type());
    if (pos>=size)
                  cimg::warn(true,"CImgl<%s>::remove() : Cannot remove an image from a list (%p,%u), at position %u.",
                  pixel_type(),data,size,pos);
    else {
                  data[pos].empty();
     
    if (!(--size)) empty();
    
    if (size<16 || size>allocsize/4) { // Removing item without reallocation.
    
           if (pos!=size) { 
                         std::memmove(data+pos,data+pos+1,sizeof(CImg<T>)*(size-pos));
                         CImg<T> &tmp = data[size];
                         tmp.width = tmp.height = tmp.depth = tmp.dim = 0; tmp.data = NULL;
                  }
           } else { // Removing item with reallocation.
                allocsize/=4;
                  CImg<T> *new_data = new CImg<T>[allocsize];
                  std::memcpy(new_data,data,sizeof(CImg<T>)*pos);
                if (pos!=size) std::memcpy(new_data+pos,data+pos+1,sizeof(CImg<T>)*(size-pos));
                std::memset(data,0,sizeof(CImg<T>)*size);
                delete[] data;
                  data = new_data; 
                  }
           }
     return *this;
    }
    //! Remove last element of the list;
    CImgl& pop_back() { remove(size-1); }
    //! Remove first element of the list;
    CImgl& pop_front() { remove(0); }
    
    J'obtiens les erreurs suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    c:\documents and settings\gd280706\bureau\analyse ir\cimg.h(14712) : error C4716: 'cimg_library::CImgl<unsigned char>::pop_back' : doit retourner une valeur
    c:\documents and settings\gd280706\bureau\analyse ir\cimg.h(14715) : error C4716: 'cimg_library::CImgl<unsigned char>::pop_front' : doit retourner une valeur
    
    C'est bizarre non?
    Il me semble que la fonction pop_back()renvoie bien une valeur (via remove?) Y a t-il un problème avec le passage par référence?
    Pour info: CImg représente une image, et CImgl une liste d'image...

    Merci à vous!

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Quel genre d'erreur ?
    Par ailleurs, une meilleure indentationd u code serait appréciable pour mieux comprendre ce qu'il se apsse

  3. #3
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    pardon, mon message s'est affiché bien avant que je le veuille
    Je suis en train de l'éditer!
    Désolé!

  4. #4
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Un simple return suffisait...
    Je vais aller dormir un peu...

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 10/10/2002, 19h19
  2. [Installation] Borland Compiler 5.5 sous XP
    Par Ligey dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 28/09/2002, 22h45
  3. dans le fond, la compilation...
    Par deltapositive dans le forum C++Builder
    Réponses: 5
    Dernier message: 17/09/2002, 12h14
  4. Vitesse de compilation
    Par srvremi dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/07/2002, 16h49
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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