erreur C2084 : comment y remédier ?
Bonjour à tous !
Voilà, je fais appel à la macro IMPLEMENT_DYNCREATE2 à plusieurs reprises dans un fichier cpp de cette manière :
Code:
1 2
|
IMPLEMENT_DYNCREATE2(CidsChap03KPage6::Cids03K6Grd2, Cids03K6Grd2, CidsBrowserView) |
Les deux premiers paramètres sont des Grid, des grilles quoi.
L'appel à la macro fonctionne (de même que la macro) puisque pour le premier Grid, je n'ai aucun souci.
Et lorsque je compile, voilà mes erreurs :
cs03kpg6.cpp(1303) : error C2084: la fonction 'CRuntimeClass *_GetBaseClass(void)' a déjà un corps
cs03kpg6.cpp(582)*: voir la définition précédente de '_GetBaseClass'
cs03kpg6.cpp(1303) : error C3861: '_GetBaseClass': identificateur introuvable, même avec une recherche qui dépend de l'argument
Je suis sûr que les 2 erreurs sont liées.
Pour info, _GetBaseClass est une classe utilisée dans la macro (celle-ci a été redéfinie dans un header).
Je me suis renseigné un peu sur cette erreur C2084, et apparemment il n'y a pas de réel moyen de la résoudre, seulement quelques astuces pour la contourner (le cast, en fait).
Je veux bien caster, mais je vois pas trop comment.
Sinon, je me demandais s'il existait un moyen de renommer temporairement une classe (pas de refactoring svp), pour tester un peu.
Je précise que mon projet consiste à migrer mon programme de VS6 à VS2003, d'où l'apparition de cette erreur.
Re: Des nouvelles du front
Citation:
Envoyé par LMA
Non, ne vous bousculez pas pour me répondre, y aura de la place pour tout le monde ! [...] Dites, si je mets une photo de fille sexy, quelqu'un consentirait à me répondre, ne serait-ce que pour commenter la photo ? Je me sentirais un peu soutenu au moins... :roll:
Les membres qui fréquentent les forums, ainsi que l'équipe de modération, répondent bénévolement aux questions. Il n'y a pas d'exigence à avoir sur la rapidité des réponses, chacun fait ce qu'il peut (pour l'équipe de modération) et ce qu'il veut (pour les membres). Et si personne n'a la réponse pour l'instant on ne va pas poster des messages pour dire "désolé j'ai pas la réponse" :wink:
Pour ce que j'ai pu trouver sur le pb, le compilo n'accepte plus les spécialisations multiples de template d'où le message d'erreur de définitions multiples :
http://msdn2.microsoft.com/en-us/library/xs4hat8z.aspx
Re: erreur C2084 : comment y remédier ?
Citation:
Envoyé par LMA
Et lorsque je compile, voilà mes erreurs :
cs03kpg6.cpp(1303) : error C2084: la fonction 'CRuntimeClass *_GetBaseClass(void)' a déjà un corps
cs03kpg6.cpp(582)*: voir la définition précédente de '_GetBaseClass'
cs03kpg6.cpp(1303) : error C3861: '_GetBaseClass': identificateur introuvable, même avec une recherche qui dépend de l'argument
On ne peut pas accèder à GetBaseClass car cela doit être une méthode déclarée en private d'une classe donc inaccessible.
Désolé de répondre à la volée pas trop le temps.
Il y a le code source des MFC
Re: Des nouvelles du front
Wahou !!! Que de réponses !!! Merci à tous ! Apparemment les filles sexe ça marche :)
Pour une fois que je suis pas là, vous postez tous pour me répondre, ça sent le complot.
Mon projet consiste à migrer un logiciel propriétaire (environ 1500 fichiers cpp, et autant de .h) de VS6 à VS2003 (et non 2005 mat.M). Alors évidemment je ne connais presque rien du code puisque je n'ai pas fait ce logiciel. Ils ont eu besoin de modifier la macro, je ne sais pas pourquoi, et plus personne dans l'entreprise ne le sait maintenant, désolé.
Citation:
Envoyé par bigboomshakala
Les membres qui fréquentent les forums, ainsi que l'équipe de modération, répondent bénévolement aux questions. Il n'y a pas d'exigence à avoir sur la rapidité des réponses, chacun fait ce qu'il peut (pour l'équipe de modération) et ce qu'il veut (pour les membres). Et si personne n'a la réponse pour l'instant on ne va pas poster des messages pour dire "désolé j'ai pas la réponse" :wink:
En fait je disais cela parce que j'ai laissé un message il y a quelques jours (concernant une autre erreur) et on ne m'a jamais répondu. Mais pas de souci, je ne disais pas cela méchamment, sinon ça se serait vu :wink:
Citation:
Envoyé par bigboomshakala
Oui, j'avais déjà vu qu'on ne pouvait résoudre cette erreur, j'ai tenté quelques trucs mais (évidemment) en vain, alors je voulais savoir si vous aviez une idée pour contourner le problème, la dernière solution quoi.
Encore merci à tous pour vos réponses, je pense que je vais tenter de pas avoir à appeler cette macro, on verra si je m'en sors.
Re: Des nouvelles du front
Citation:
Envoyé par LMA
Wahou !!! Que de réponses !!! Merci à tous ! Apparemment les filles sexe ça marche :)
On n'a rien vu encore.... :D
On ne sait tjs pas quel est le but du projet :wink:
Re: Des nouvelles du front
Citation:
Envoyé par mat.M
On n'a rien vu encore.... :D
C'est l'art de ne rien montrer pour avoir des info :lol:
Citation:
Envoyé par mat.M
On ne sait tjs pas quel est le but du projet :wink:
Le but de mon projet, c'est de migrer un logiciel propriétaire de VS6 à VS2003. Si tu veux savoir ce que fait ce logiciel, ça va te paraître chiant : il permet de faire des calculs concernant des transformateurs (nombre de radiateurs, impédance, devis, etc...). La macro, je sais pas pourquoi elle est appelée, je sais pas pourquoi ils l'ont modifiée, je sais juste qu'elle pose des problèmes et qu'elle fait bien c****.
Re: Des nouvelles du front
Citation:
Envoyé par LMA
Si tu veux savoir ce que fait ce logiciel, ça va te paraître chiant : il permet de faire des calculs concernant des transformateurs (nombre de radiateurs, impédance, devis, etc...). La macro, je sais pas pourquoi elle est appelée, je sais pas pourquoi ils l'ont modifiée, je sais juste qu'elle pose des problèmes et qu'elle fait bien c****.
Pas du tout .
C'est passionnant les calculs sur les transfos et impédances , condensateurs ( y-a-til des condos ? ) ! :haha:
Ce genre de macro on n'y touche pas du tout elles sont générées par les assistants de VC++
En fait je me suis mal exprimé; ce n'est pas le but du projet mais le pourquoi du comment.
C'est l'intégration d'un composant grille ?