-3

ご覧のとおり、すべてがパブリックに設定されていますが、コンパイラは次のように述べています。

Shooting.inventoryWeapon.inventoryWeapon(Shooting.weapon, int)保護レベルのためアクセスできません。

このコードは、Shooting クラスにあります。

public enum weapon{gun,shotgun};

public struct inventoryWeapon{
    weapon current;
    int shotAmmo;
    inventoryWeapon(weapon cur,int shAmmo){
        current=cur;
        shotAmmo=shAmmo;
    }
}

public inventoryWeapon[] Inventory;
int weaponIndex=0;

void Start(){
    Inventory=new inventoryWeapon[10];
    Inventory[weaponIndex]= new inventoryWeapon(weapon.shotgun,30);
}
4

2 に答える 2

2

ここに追加する必要がありpublicます:

public inventoryWeapon(weapon cur,int shAmmo){
    current=cur;
    shotAmmo=shAmmo;
}
于 2013-06-29T09:49:26.587 に答える
0

クラスを public として定義したとしても

public struct inventoryWeapon{

クラス メンバーを外部に公開する場合は、クラス メンバーを public として定義する必要があります (継承を使用しない場合)。

public inventoryWeapon(weapon cur,int shAmmo){
于 2013-06-29T09:52:59.390 に答える