Partilhar via


Erro do compilador C3379

'classe' : uma classe aninhada não pode ter um especificador de acesso ao assembly como parte de sua declaração

Observações

Quando aplicadas a um tipo gerenciado, como class ou struct, as palavras-chave public e private indicam se a classe será exposta por meio de metadados de assembly. public ou private não podem ser aplicados a uma classe aninhada, que herdará o acesso ao assembly da classe que a contém.

Quando usado com /clr, as ref palavras-chave e value indicam que uma classe é gerenciada (consulte Classes e Structs).

Example

O exemplo a seguir gera C3379:

// C3379a.cpp
// compile with: /clr
using namespace System;

public ref class A {
public:
   static int i = 9;

   public ref class BA {   // C3379
   // try the following line instead
   // ref class BA {
   public:
      static int ii = 8;
   };
};

int main() {

   A^ myA = gcnew A;
   Console::WriteLine(myA->i);

   A::BA^ myBA = gcnew A::BA;
   Console::WriteLine(myBA->ii);
}