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++/CLI Discussion :

erreur C2440 sur un projet class library


Sujet :

C++/CLI

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    915
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 915
    Points : 85
    Points
    85
    Par défaut erreur C2440 sur un projet class library
    Bonjour,
    Je créer une DLL Class Library et j'obtiens à la compilation l'erreur c2440.
    error C2440: 'type cast' : cannot convert from 'com_ADCAD_d::AD_COM_Wall ^const ' to 'void *'
    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
    typedef struct {
    	TCHAR *calque;
    	void *paramerror;
    	double xfactor,yfactor,zfactor;
    	Tles_lignes_dappuie les_lignes_dappuie;
    	TCHAR out_maintientbloc[64];
    	void (_stdcall *showerror)(void* thisclass,TCHAR *classe,TCHAR *error,int errorparam,int acadstatus);
    }TMUR,*PMUR;
     
    bool com_ADCAD_d::AD_COM_Wall::Trace(int &err)
    {
    	Ples_lignes_dappuie pl=_lignesappuie->returnappuieline();
    	TMUR mur={0};
    	mur.paramerror=(void*)this; //erreur ici;
            ...
            ...
    }
    Comment resoudre ce probléme ?
    Merci

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Points : 1 086
    Points
    1 086
    Par défaut
    Apparemment tu ne fais pas du C++ mais du C#.
    Je ne m'y connais pas en C#, mais la doc MSDN semble dire que le mot-clé this n'est pas un pointeur mais une référence vers l'objet courant. Essaie donc de caster &this au lieu de this.

  3. #3
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 148
    Points : 232
    Points
    232
    Par défaut
    J'aurais tendance à penser qu'il s'agit bien de C++ mais sous Visual.
    Tu devrais essayer : mur.paramerror = this; // Le cast (void *) n'a aucun sens ici à mon avis ...
    Si tu travailles bien sous Visual comme j'en ai l'impression jettes un oeil ici : http://msdn.microsoft.com/en-us/libr...(v=vs.80).aspx

  4. #4
    Membre confirmé Avatar de themadmax
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 446
    Points : 496
    Points
    496
    Par défaut
    je dirai meme plus que les ^ sont les pointeurs en C++ Managed. Il nous faut plus d'information sur ton projet, Managed, Natif, interop, COM...

Discussions similaires

  1. [Flex4] Erreur 1200 sur un projet valide
    Par fabi75 dans le forum Flex
    Réponses: 1
    Dernier message: 15/01/2010, 10h14
  2. Réponses: 4
    Dernier message: 22/04/2008, 16h47
  3. Réponses: 5
    Dernier message: 16/04/2008, 21h39
  4. Réponses: 1
    Dernier message: 05/02/2007, 13h27
  5. Réponses: 9
    Dernier message: 27/04/2004, 11h01

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