Odnoszenie się do tablicy vector.

0

Witam. Mam stworzoną klase Manipulator

 class Manipulator 
{
public:
/*!\brief Wartosci postury typu vector<double>.
 * 
 * \var Postury - wartosci postur.
 */
	std::vector<Ogniwo> _Ogniwa; 

	
	
};

klasa ogniwo natomiast wygląda tak:

class Ogniwo{
	public:
	double dlugosc;
	double kat;
	Wektor<2> _Wsp;
}; 

i tutaj rodzi się problem, jak próbuję wpisywać długości do tablicy za pomocą funkcji push_back w ten sposób: Man._Ogniwa.dlugosc.push_back(liczba); otrzymuje komunikat o błędzie:
‘class std::vector<Ogniwo>’ has no member named ‘dlugosc’
Man._Ogniwa.dlugosc.push_back(liczba);
Jak mam zatem się odniesć do tego elementu?

0

Tak sie nie da. Wektor przechowuje całe obiekty! Możesz do niego dodać tylko CAŁE ogniwo.

Ogniwo całeOgniwo.
całeOgniwo.dlugosc = liczba;
Man._Ogniwa.push_back(całeOgniwo);

Nie bardzo rozumiem jaki efekt chciałeś uzyskać robiąc Man._Ogniwa.dlugosc.push_back(liczba);

0
Manipulator._Ogniwa[któreś ogniwo].długość
0
Manipulator._Ogniwa[któreś ogniwo].długość

Możesz wspomóc się vector<T>::back() i vector<T>::front()

0

Zrozumiałem błąd, poprawiłem i działa. Dokładnie o to mi chodziło. Dzięki wielkie :)

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