Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
'identifier' : les spécificateurs d’accès aux assemblys sont disponibles uniquement dans le code compilé avec une option /clr
Notes
Un type a été déclaré ou défini à l’aide d’un spécificateur d’accès, qui n’est autorisé que dans le code compilé à l’aide /clrde .
Cette erreur peut provenir d’un mot clé ou publicprotectedd’un privatesigne deux-points manquant (:) après un spécificateur d’accès au sein d’un class ou struct.
Dans C++/CLI, les types natifs peuvent être visibles en dehors d’un assembly, mais vous ne pouvez spécifier l’accès à l’assembly que pour les types natifs dans une /clr compilation. Pour plus d’informations, consultez Visibilité de/clr
Exemple
L’exemple suivant génère l’erreur C3381. Pour résoudre ce problème, commencez par supprimer le public spécificateur de la class A définition, ou compilez-le à l’aide de l’option /clr . Ensuite, ajoutez un signe deux-points après private pour spécifier l’accès pour class B {} b;. Cela est dû au fait qu’une classe imbriquée ne peut pas avoir de spécificateur d’accès à l’assembly dans le cadre de sa déclaration.
// C3381.cpp
// compile with: /c
public class A { // C3381
private class B {} b; // C3381
};