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 :

identificateur non déclaré


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 identificateur non déclaré
    Salut à tous,

    J'ai une erreur de compilation sur laquelle il faut bien avouer, je sèche un peu...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    template <typename T>
     bool inspectVoisinage(vigra::BasicImage<T>::Iterator & A, vigra::BasicImage<T>::Iterator  & B)
    {
    	return true;
    }
    Le compilo m'indique:
    d:\analyse v2.02\analyse\Warping.h(14) : error C2065: 'A' : identificateur non déclaré
    d:\analyse v2.02\analyse\Warping.h(14) : error C2065: 'B' : identificateur non déclaré
    d:\analyse v2.02\analyse\Warping.h(17) : error C2998: 'bool inspectVoisinage' : ne peut pas être une définition de modèle
    Vous avez une idée ?

  2. #2
    screetch
    Invité(e)
    Par défaut
    verifie que les headers de vigra sont bien trouves (et inclus)

    ensuite, ecrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    template <typename T>
     bool inspectVoisinage(typename vigra::BasicImage<T>::Iterator & A, typename vigra::BasicImage<T>::Iterator  & B)
    {
    	return true;
    }
    ca aidera a savoir qu'il s'agit d'un type

    si ca ne corrige pas, ca va probablement changer le message d'erreur.

  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
    Pour les headers, y'a pas de soucis...

    J'avais déjà rajouté les typename en effet, et ça m'a donné ça :
    d:\analyse v2.02\analyse\Warping.h(31) : error C2783: 'bool inspectVoisinage(vigra::BasicImage::Iterator &,vigra::BasicImage::Iterator &)' : impossible de déduire l'argument modèle pour 'T'
    d:\analyse v2.02\analyse\Warping.h(14) : voir la déclaration de 'inspectVoisinage'
    d:\analyse v2.02\analyse\Warping.h(104) : voir la référence à l'instanciation de la fonction modèle 'vigra::BasicImage boucher>(const vigra::BasicImage &,T)' en cours de compilation
    with
    [
    PIXELTYPE=vigra::RGBValue,
    VALUETYPE=vigra::UInt16,
    T=vigra::RGBValue
    ]
    .\main.cpp(53) : voir la référence à l'instanciation de la fonction modèle 'vigra::BasicImage Warping::warp>(const vigra::BasicImage &)' en cours de compilation
    with
    [
    PIXELTYPE=vigra::RGBValue,
    VALUETYPE=vigra::UInt16
    En gros, le compilo peut pas déduire quel modèle utilisé, mais je comprend pas trop pourquoi à vrai dire...

  4. #4
    screetch
    Invité(e)
    Par défaut
    ensuite je pense que tu appelles la methode de voisinage.
    la nouvelle erreur se situe a la ligne 31

    y'a quoi a cette ligne ?

  5. #5
    screetch
    Invité(e)
    Par défaut
    neanmoins a vue de nez je dirait que tu ppelles "inspectVoisinage(iter1, iter2);" et que ca plante. Essaye d'appeler
    inspectVoisinage<T>(iter1, iter2);

  6. #6
    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
    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
    template <typename T>
     bool inspectVoisinage(typename vigra::BasicImage<T>::Iterator & A, typename vigra::BasicImage<T>::Iterator  & B)
    {
    	return true;
    }
     
    template <typename T>
    vigra::BasicImage<T> boucher (const vigra::BasicImage<T> & image, T val)
    {
    	vigra::BasicImage<T> image_fill (image);
     
    	for (int i = 0; i < image_fill.width(); i++) {
    		for (int j = 0; j < image_fill.height(); j++) {
    			if (image(i,j) == val ) {
    				int n = 1;
    				if (i >= n && j >= n) {
    					typename vigra::BasicImage<T>::Iterator iter_A = image_fill.upperLeft() + vigra::Diff2D(i - n, j - n);
    					typename vigra::BasicImage<T>::Iterator iter_B = image_fill.upperLeft() + vigra::Diff2D(i + n, j + n);
    					while (inspectVoisinage<T>(iter_A, iter_B) == false) 
    						n++;
    				}
    			}
    		}
    	}
    	return image_fill;
    }
    Effectivement comme ça, ça marche parfaitement !
    Je te remercie beaucoup!

    Par contre, je comprend pas vraiment pourquoi...

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

Discussions similaires

  1. [D5] Identificateur non déclaré
    Par MelkInarian dans le forum Delphi
    Réponses: 2
    Dernier message: 20/04/2007, 17h20
  2. findcomponent, identificateur non déclaré
    Par chourmo dans le forum Delphi
    Réponses: 3
    Dernier message: 04/07/2006, 13h54
  3. Identificateur non déclaré
    Par nisere dans le forum Langage
    Réponses: 2
    Dernier message: 21/03/2006, 09h33
  4. Identificateur non déclaré : 'Null'
    Par Mofid04 dans le forum Bases de données
    Réponses: 4
    Dernier message: 12/03/2006, 11h47
  5. Problème d'identificateur non déclaré
    Par renorx dans le forum Débuter
    Réponses: 3
    Dernier message: 14/11/2005, 20h39

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