-3

如您所见,一切都设置为公开,但编译器说:

Shooting.inventoryWeapon.inventoryWeapon(Shooting.weapon, int)由于其保护级别而无法访问。

此代码在射击类中。

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 struct inventoryWeapon{

如果你想将你的班级成员暴露给外界,你必须将你的班级成员定义为公开的(除非你使用 inheretence)。

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