次の方法で共有


コンパイラ エラー C3379

'class': 入れ子になったクラスに宣言の一部としてアセンブリ アクセス指定子を含めることはできません。

クラスや構造体などのマネージド型に適用される場合、public キーワードと private キーワードはクラスがアセンブリ メタデータを通じて公開されるかどうかを示します。 public または private は、入れ子になったクラスには適用できません。入れ子になったクラスは、囲んでいるクラスのアセンブリ アクセスを継承します。

/clr と一緒に使用すると、ref および value キーワードは、クラスがマネージドであることを示します (「クラスと構造体」を参照)。

次の例では 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);
}