Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
'Identificador' : Os especificadores de acesso ao assembly só estão disponíveis em código compilado com uma opção /clr
Observações
Um tipo foi declarado ou definido usando um especificador de acesso, que só é permitido no código compilado usando /clr.
Este erro pode resultar de uma palavra-chave public, protected ou private mal colocada, ou de dois pontos ausente (:) após um especificador de acesso dentro de um class ou struct.
Em C++/CLI, os tipos nativos podem ser visíveis fora de um assembly, mas você só pode especificar o acesso ao assembly para tipos nativos em uma /clr compilação. Para obter mais informações, consulte Visibilidade de tipo e /clr (Compilação do Common Language Runtime).
Example
O exemplo a seguir gera C3381. Para corrigi-lo, primeiro remova o public especificador da class A definição ou compile usando a /clr opção. Em seguida, adicione dois pontos depois de private para especificar acesso a class B {} b;. Isso ocorre porque uma classe aninhada não pode ter um especificador de acesso de assemblagem como parte da sua declaração.
// C3381.cpp
// compile with: /c
public class A { // C3381
private class B {} b; // C3381
};