2015-07-21 7 views
2
public class ItemStack 
{ 
    public int stackSize; 
    public int itemID; 
    public int itemDamage; 

    public ItemStack(Item item) 
    { 
     this(item.id, 1, 0); //ERROR HERE 
    } 

    public ItemStack(Item item, int value) 
    { 
     this(item.id, value, 0); //ERROR HERE 
    } 

    public ItemStack(Item item, int value, int value2) 
    { 
     this(item.id, value, value2); //ERROR HERE 
    } 

    public ItemStack(int value, int value2, int value3) 
    { 
     this.stackSize = 0; 
     this.itemID = value; 
     this.stackSize = value2; 
     this.itemDamage = value3; 

     if (this.itemDamage < 0) 
     { 
      this.itemDamage = 0; 
     } 
    } 

    private ItemStack() 
    { 
     this.stackSize = 0; 
    } 
} 

Je ne sais pas comment résoudre ce problème, si vous avez une idée s'il vous plaît aidez-moi. Merci. Je n'ai aucune idée comment résoudre ceci, j'ai essayé différentes manières mais rien. Les erreurs sont situées à l'endroit où vous voyez "ERROR HERE" juste ces lignes.Expression dénote une «variable», où un «groupe de méthode» était prévu

Répondre

4

Vous essayez d'enchaîner les constructeurs, ce n'est pas ce que vous faites. Vous devez appeler : this() dans la déclaration du constructeur:

public ItemStack(Item item) : this(item.id, 1, 0) 
{ 
} 

public ItemStack(Item item, int value) : this(item.id, value, 0) 
{ 
} 

public ItemStack(Item item, int value, int value2) : this(item.id, value, value2) 
{ 
} 
+0

Merci mutch !!! Je l'ai juste confondu avec Java. –

+0

@Azerty Bienvenue. –