funkcja zwracająca mape VOL 2

0
 row1[klawisz].setPath(ścieżka);
				gdzieTenKlawisz(klawisz)[klawisz].setPath(ścieżka);

czemu pierwsza linijka działa a druga nie, skoro gdzieTenKlawisz zwraca mapę row1,row2,row3 w zaleznosci od klawisza?
Funkcja setPath wykonuje się na wartości mapy - obiekcie klasy to_speaker zdefiniowanej przeze mnie.

 
map<char, to_speaker > bito_blaster::gdzieTenKlawisz(char key){
	string tablica[3] = { "QWERTYUIOP", "ASDFGHJKL", "ZXCVBNM" };
	if( tablica[0].find(key) < tablica[0].length() ){
		tekst->SetLabel("zwracam rząd 1 ");
		czy_dostepny = true;
		return row1;
	}
	else if( tablica[1].find(key) < tablica[1].length()){
		tekst->SetLabel("zwracam rząd 2 ");
		czy_dostepny = true;
		return row2;
	}
	else if( tablica[2].find(key) < tablica[2].length()){
		tekst->SetLabel("zwracam rząd 3 ");
		czy_dostepny = true;
		return row3;
	}
	else{
		tekst->SetLabel("UWAZAJ TEN KLAWISZ NIE JEST DOSTĘPNY !!! " );
		czy_dostepny = false;
		return row4;
	}
}

0

Jestem w pętli , w funkcji która NA PEWNO się wykonuje, bo dając tam jakąś inną linijkę sprawdzającą - działa.
Natomiast jeśli wrzucam tam " gdzieTenKlawisz(klawisz)[klawisz].setPath(ścieżka); " , to nie działa.
W czym może być błąd, podrzućcie jakieś pomysły proszę.

Dodam jeszcze, że mapy row3, 2 i 1 są składowymi klasy bito_blaster - tak jak funkcja gdzieTenKlawisz.
Także może to ma związek, z tym, że zwracając nie wykonuje mi funkcji na mapach składowych klasy tylko na jakiś innych(?) nie wiem, tak to jakoś wygląda...

0
map<char, to_speaker > &bito_blaster::gdzieTenKlawisz(char key){...
0

Dzieki mistrzu:D uroki programowania, jeden znaczek załatwia całą sprawę;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1