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

Visual C++ Discussion :

Erreur conversion Visual 2005


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 91
    Par défaut Erreur conversion Visual 2005
    Je viens de convertir un projet Visual 2003 en 2005.
    Le projet compilait sans problème sous visual 2003.
    Après conversion, j'ai l'erreur suivante

    c:\program files\microsoft visual studio 8\vc\atlmfc\include\atlcom.h(5017) : error C2664: '_CopyVarMapToVariant::copy'*: impossible de convertir le paramètre 2 de 'const std::pair<_Ty1,_Ty2> *' en 'std::pair<_Ty1,_Ty2> *'
    with
    [
    _Ty1=const ATL::CAdapt<ATL::CComVariant>,
    _Ty2=ATL::CComVariant
    ]
    La conversion perd les qualificateurs
    c:\program files\microsoft visual studio 8\vc\atlmfc\include\atlcom.h(5004)*: lors de la compilation de la fonction membre '<Inconnu>' de la classe <Inconnu>
    c:\dev\components\msconfig\com\fielditem.h(20)*: voir la référence à l'instanciation de la classe modèle 'ATL::IEnumOnSTLImpl<Base,piid,T,Copy,CollType>' en cours de compilation
    with
    [
    Base=IEnumVARIANT,
    piid=& IID_IEnumVARIANT,
    T=VARIANT,
    Copy=_CopyVarMapToVariant,
    CollType=VarMap
    ]
    La classe qui semble poser problème est la suivante :

    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
    #ifndef __Enumtypes__HH__
    #define __Enumtypes__HH__
     
    #include <map>
     
    typedef std::map<CAdapt<CComVariant>, CComVariant> VarMap;
     
    class _CopyVarMapToVariant
    	{
    	public:
    		static HRESULT copy(VARIANT* pCopy, std::pair<const CAdapt<CComVariant>, CComVariant>* pIt)
    		{
    			CComVariant v = pIt->second;
    			v.Detach(pCopy);
    			return S_OK;
    		}
    		static void init(VARIANT* p) {VariantInit(p);}
    		static void destroy(VARIANT* p) {VariantClear(p);}
    	};
     
    typedef IEnumOnSTLImpl<IEnumVARIANT, &IID_IEnumVARIANT, VARIANT, _CopyVarMapToVariant, VarMap> VarEnumImpl;
     
    #endif
    Une idée??

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 91
    Par défaut
    J'ai trouvé, il faut rajouter des const

    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
    #ifndef __Enumtypes__HH__
    #define __Enumtypes__HH__
     
    #include <map>
     
    typedef std::map<const CAdapt<CComVariant>, CComVariant> VarMap;
     
    class _CopyVarMapToVariant
    	{
    	public:
    		static HRESULT copy(VARIANT* pCopy, const std::pair<const CAdapt<CComVariant>, CComVariant>* pIt)
    		{
    			CComVariant v = pIt->second;
    			v.Detach(pCopy);
    			return S_OK;
    		}
    		static void init(VARIANT* p) {VariantInit(p);}
    		static void destroy(VARIANT* p) {VariantClear(p);}
    	};
     
    typedef IEnumOnSTLImpl<IEnumVARIANT, &IID_IEnumVARIANT, VARIANT, _CopyVarMapToVariant, std::map<const CAdapt<CComVariant>, CComVariant>> VarEnumImpl;
     
    #endif

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

Discussions similaires

  1. Message d erreur dans Visual Studio 2005
    Par idream dans le forum VB.NET
    Réponses: 7
    Dernier message: 03/03/2008, 10h16
  2. conversion visual studio 2003->2005
    Par WELCOMSMAIL dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/11/2007, 02h13
  3. conversion visual 2003 à 2005
    Par duffdan dans le forum ASP.NET
    Réponses: 4
    Dernier message: 12/09/2007, 11h29
  4. Réponses: 3
    Dernier message: 08/08/2007, 09h29
  5. [visual 2005] erreur à la compilation: pow
    Par r0d dans le forum Visual C++
    Réponses: 9
    Dernier message: 28/11/2006, 16h56

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