locked
la résolution des questions du dictionnaire RRS feed

  • Question

  • Bonjour,

    bon J'ai suivi les conseils que vous m'avez donné

    J'ai déclaré les typedef comme suit :

    	typedef cliext::hash_map< int, mySynsetTemp^>^ MySensType;
    	
    
    	typedef cliext::hash_map< System::String^, mySynset^>^ MYSens;
    

    j'ai déclaré les variables dans la classe comme suit:

    mySensType^ senstemp;
    
    mySens^ sens;

    et j'ai les messages d'erreur suivant pour Dictionnaire

    1>D:\usr\Specification LoaderV4.1\dev\Utility\com\Dictionnaire.h(25): error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'sens'
    1>D:\usr\Specification LoaderV4.1\dev\Utility\com\Dictionnaire.h(25): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
    1>D:\usr\Specification LoaderV4.1\dev\Utility\com\Dictionnaire.h(25): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
    1>L:\usr\Verify\Memoria\dev\Utility\Dictionnaire\src\Dictionnaire.cpp(44): error C2065: 'sens' : identificateur non déclaré
    1>L:\usr\Verify\Memoria\dev\Utility\Dictionnaire\src\Dictionnaire.cpp(44): error C2227: la partie gauche de '->find' doit pointer vers un type class/struct/union/générique
    1>          le type est ''unknown-type''
    1>L:\usr\Verify\Memoria\dev\Utility\Dictionnaire\src\Dictionnaire.cpp(44): error C2065: 'sens' : identificateur non déclaré
    1>L:\usr\Verify\Memoria\dev\Utility\Dictionnaire\src\Dictionnaire.cpp(44): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>          le type est ''unknown-type''
    1>L:\usr\Verify\Memoria\dev\Utility\Dictionnaire\src\Dictionnaire.cpp(56): error C2065: 'sens' : identificateur non déclaré
    1>L:\usr\Verify\Memoria\dev\Utility\Dictionnaire\src\Dictionnaire.cpp(56): error C2227: la partie gauche de '->clear' doit pointer vers un type class/struct/union/générique
    1>          le type est ''unknown-type''
    1>L:\usr\Verify\Memoria\dev\Utility\Dictionnaire\src\Dictionnaire.cpp(88): error C2065: 'sens' : identificateur non déclaré
    1>L:\usr\Verify\Memoria\dev\Utility\Dictionnaire\src\Dictionnaire.cpp(93): error C2065: 'sens' : identificateur non déclaré
    1>L:\usr\Verify\Memoria\dev\Utility\Dictionnaire\src\Dictionnaire.cpp(93): error C2227: la partie gauche de '->count' doit pointer vers un type class/struct/union/générique
    1>          le type est ''unknown-type''
    1>L:\usr\Verify\Memoria\dev\Utility\Dictionnaire\src\Dictionnaire.cpp(99): error C2065: 'sens' : identificateur non déclaré
    1>L:\usr\Verify\Memoria\dev\Utility\Dictionnaire\src\Dictionnaire.cpp(106): error C2065: 'sens' : identificateur non déclaré
    1>L:\usr\Verify\Memoria\dev\Utility\Dictionnaire\src\Dictionnaire.cpp(106): error C2227: la partie gauche de '->erase' doit pointer vers un type class/struct/union/générique
    1>          le type est ''unknown-type''
    1>L:\usr\Verify\Memoria\dev\Utility\Dictionnaire\src\Dictionnaire.cpp(111): error C2065: 'sens' : identificateur non déclaré
    1>L:\usr\Verify\Memoria\dev\Utility\Dictionnaire\src\Dictionnaire.cpp(119): error C2065: 'sens' : identificateur non déclaré
    1>L:\usr\Verify\Memoria\dev\Utility\Dictionnaire\src\Dictionnaire.cpp(146): error C2065: 'sens' : identificateur non déclaré

    et à peux près les mêmes pour senstemp

    1>d:\usr\specification loaderv4.1\dev\aln_kernel\make\specificationloader\specificationloader\TempDict.h(23): error C2143: erreur de syntaxe : absence de ';' avant '^'
    1>d:\usr\specification loaderv4.1\dev\aln_kernel\make\specificationloader\specificationloader\TempDict.h(23): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
    1>d:\usr\specification loaderv4.1\dev\aln_kernel\make\specificationloader\specificationloader\TempDict.h(23): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
    1>DictTemp.cpp(41): error C2065: 'senstemp' : identificateur non déclaré
    1>DictTemp.cpp(46): error C2065: 'senstemp' : identificateur non déclaré
    1>DictTemp.cpp(46): error C2227: la partie gauche de '->erase' doit pointer vers un type class/struct/union/générique
    1>          le type est ''unknown-type''
    1>DictTemp.cpp(50): error C2065: 'senstemp' : identificateur non déclaré
    1>DictTemp.cpp(56): error C2065: 'senstemp' : identificateur non déclaré
    1>DictTemp.cpp(56): error C2227: la partie gauche de '->count' doit pointer vers un type class/struct/union/générique
    1>          le type est ''unknown-type''
    1>DictTemp.cpp(71): error C2065: 'senstemp' : identificateur non déclaré
    1>DictTemp.cpp(71): error C2227: la partie gauche de '->count' doit pointer vers un type class/struct/union/générique
    1>          le type est ''unknown-type''
    1>DictTemp.cpp(78): error C2065: 'senstemp' : identificateur non déclaré


    Jean Noël Martin

    jeudi 30 juillet 2015 18:45

Réponses

  • Je ne vois pas ou vous voulez en venir avec tout ces changements de type intempestif.

    cli::array est un type managé non ?

    Il est ou le "^" dans la déclaration de la variable senstemp ?


    Paul Bacelar, Ex - MVP VC++

    mardi 8 septembre 2015 17:06
    Modérateur

Toutes les réponses

  • Vérifiez la casse (majuscule-minuscule) de vos types. Là, c'est le bordel


    Paul Bacelar, Ex - MVP VC++

    jeudi 30 juillet 2015 22:14
    Modérateur
  • J'ai repris ce dossier au retours de vacances

    J'ai pris comme option de changer le type de mySynset:

    J'ai déclaré

    		array <Microsoft::VisualC::StlClr::GenericPair< System::Int32, mySynset^>^, 1> senstemp; 
    

    pour pouvoir satisfaire l'index de:

    senstemp[ id];

    mais cette déclaration pose un problème que je ne comprends pas:

    >d:\usr\specification loaderv4.1\dev\aln_kernel\make\specificationloader\specificationloader\TempDict.h(23): error C3149: 'cli::array<Type,dimension>' : impossible d'utiliser ce type ici sans '^' de niveau supérieur
    1>          with
    1>          [
    1>              Type=Microsoft::VisualC::StlClr::GenericPair<int,SpecificationLoader::mySynset ^> ^,
    1>              dimension=1
    1>          ]


    Jean Noël Martin

    samedi 5 septembre 2015 17:14
  • Je ne vois pas ou vous voulez en venir avec tout ces changements de type intempestif.

    cli::array est un type managé non ?

    Il est ou le "^" dans la déclaration de la variable senstemp ?


    Paul Bacelar, Ex - MVP VC++

    mardi 8 septembre 2015 17:06
    Modérateur
  • D'ailleurs il y a deux instances de cette erreur

    		array <Microsoft::VisualC::StlClr::GenericPair<System::String^, mySynset^>^,1> sens; //ligne 25


    mySynset^>^

    mais ça marche mieux avec un chapeau de plus

    		array <Microsoft::VisualC::StlClr::GenericPair<System::String^, SpecificationLoader::mySynset^>^,1>^ sens; //ligne 25
    


    Jean Noël Martin



    samedi 12 septembre 2015 03:27