Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
"identifierare" : sammansättningsåtkomstspecificerare är endast tillgängliga i kod som kompilerats med ett /clr-alternativ
Anmärkningar
En typ har deklarerats eller definierats med hjälp av en åtkomstspecifikator, vilket endast tillåts i kod som kompilerats med hjälp av /clr.
Det här felet kan bero på ett felplacerat , publiceller protected nyckelord eller ett saknat privatekolon (:) efter en åtkomstspecificerare inom en class eller struct.
I C++/CLI kan inbyggda typer visas utanför en sammansättning, men du kan bara ange sammansättningsåtkomst för inbyggda typer i en /clr kompilering. Mer information finns i Typens synlighet och /clr (Common Language Runtime-kompilering).
Example
I följande exempel genereras C3381. Åtgärda problemet genom att antingen ta bort public-specificeraren från class A-definitionen, eller kompilera med hjälp av /clr-alternativet. Lägg sedan till ett kolon efter private för att ange åtkomst för class B {} b;. Det beror på att en kapslad klass inte kan ha en sammansättningsåtkomstspecificerare som en del av deklarationen.
// C3381.cpp
// compile with: /c
public class A { // C3381
private class B {} b; // C3381
};