tsozgen Ответов: 1

Ошибка "метод x в типе y неприменим для Аргументов z"


всем привет;
У меня есть проблема, которая сводит меня с ума. Я абстрагируюсь от шахмат.

Вот этот кусочек:
public abstract class Tas {
    
    public int Anahtar;
    
    public Renk Rengi;   
 
    public int Degeri;
    
    public Tas()
    {
    	this.Anahtar = Integer.MIN_VALUE;
        this.Rengi = Renk.TANIMSIZ;
        this.Degeri = Integer.MIN_VALUE;

    }
}


Вот правила игры в шахматы:

public class SatrancYapayZeka 
{
	//other details omitted for brevity

	public boolean korunuyorMuRakipTaslarTarafindan(Tas hamleYapanTas,Lokasyon olasiLokasyon ,Tas[][] satranctahtasi)
    {
		//other details omitted for brevity

    }
	
}



Вот класс епископа, производный от частей:


public class Fil extends Tas 
{

   @Override
    public ArrayList<Lokasyon> GetirKoruduguKareleri(Lokasyon lokasyonaGore,Tas[][] tahta)
    {
	
		SatrancYapayZeka zeka = new SatrancYapayZeka();
	
		//all possible moves in the down positive diagonal
		for (int yenix = xMevcut + 1, yeniy = yMevcut + 1; yenix < 8 && yeniy < 8; yenix++, yeniy++) {
		        
                        //error point 1
			if(!zeka.korunuyorMuRakipTaslarTarafindan(this,komsuLokasyon ,tahta))
			{			    		
				lokasyonListe.add(komsuLokasyon);				               
			}
		
		}
    }
	
}



Я получаю

Метод korunuyorMuRakipTaslarTarafindan(Tas, Lokasyon, Tas[][]) в типе SatrancYapayZeka неприменим для Аргументов (Renk, Lokasyon, Tas[][])

в точке ошибки 1 я требую "это", однако он предполагает для перечисления "Ренк", которое определено внутри куска. Чего мне не хватает?

Заранее спасибо.

Что я уже пробовал:

Я посмотрел на stackoverflow, но описанные там решения мне не подходят.

Thomas.D Williams

Это довольно трудно читать, когда это не английский язык, но...
Я думаю, что вы можете захотеть:
если(!zeka.korunuyorMuRakipTaslarTarafindan(это.Ренги ,комсулокасьон ,тахта))

Возможно, вам придется использовать "супер.Ренги" я не пользовался Java уже более 3 лет.

Richard MacCutchan

Я не могу понять, почему компилятор думает, что this указатель относится к типу Renk. В коде должно быть что-то такое, что Вы нам не показываете.

1 Ответов

Рейтинг:
0

tsozgen

Когда я закрываю и открываю затмение, ошибка исчезает. Спасибо.