C2385 message d'erreur lorsque vous utilisez compilateur C++

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 323918
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Symptômes
Si vous compilez le code Visual C++ avec un constructeur de base virtuel, vous pouvez recevoir un message d'erreur C2385.
Cause
Ce problème se produit en raison d'un bogue dans le compilateur C++ dans Visual Studio .NET.
Résolution
Un correctif est désormais disponible auprès de Microsoft, mais il ne vise qu'à corriger le problème décrit dans cet article. S'il s'appliquent uniquement aux ordinateurs rencontrant ce problème spécifique. Ce correctif peut être soumise tests supplémentaires. Par conséquent, si vous n'êtes pas gravement touché par ce problème, Microsoft vous recommande d'attendre le prochain service pack Visual Studio .NET qui comprendra ce correctif.

Pour résoudre ce problème immédiatement, contactez support technique Microsoft pour obtenir le correctif. Pour une liste complète des numéros de téléphone des services de support technique Microsoft et des informations sur les frais de support technique, reportez-vous au site de Web Microsoft suivant : Remarque : dans certains cas, les frais aucuns de support peuvent être facturés si un technicien du support technique Microsoft détermine qu'une mise à jour spécifique peut résoudre votre problème. Les coûts de support technique typique s'appliqueront aux autres questions et problèmes non traités par la mise à jour en question.

La version anglaise de ce correctif dispose des attributs de fichier (ou version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont exprimées en coordinated universal temps (UTC). Lorsque vous affichez les informations de fichier, il est convertie en heure locale. Pour connaître le décalage entre l'heure UTC et l'heure locale, utilisez l'onglet Fuseau horaire dans l'outil Date et heure du Panneau de configuration.
   Date           Version       Size             File name        ---------------------------------------------------------   04-Jun-2002    13.0.9503.0   2,105,344 bytes  C1xx.dll   04-Jun-2002    13.0.9503.0   1,757,184 bytes  C2.dll				

Statut
Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés au début de cet article.
Plus d'informations
Pour reproduire ce problème, compiler l'exemple de code suivant Visual C++ .NET dans Visual Studio .NET :
#include <stdio.h>class V{public:    V(){ printf("Just testing\n"); }};class A : virtual public V{    /* ... */ };class B : virtual public V{    /* ... */ };class C : public A, public B{    void DoNothing(const V&)    {        ;    }    void VC7_Ambiguity(void)    {        DoNothing(V());    }};int main(void){    C c;    return 0;}				
lorsque vous compilez ce code dans Visual Studio .NET, la sortie suivante s'affiche dans la fenêtre sortie :
x3.cppx3.cpp(29) : error C2385: ambiguous access of 'V' in 'C'        could be the 'V' in base 'V'        or the 'V' in base 'V'x3.cpp(29) : error C2065: 'V' : undeclared identifier					
Compilateur C++ Visual

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 323918 - Dernière mise à jour : 01/31/2014 19:04:58 - Révision : 1.2

Microsoft Visual C++ .NET 2002 Initiation

  • kbnosurvey kbarchive kbmt kbbug kbcompiler kbfix kbqfe KB323918 KbMtfr
Commentaires