Problem z funkcją.
Ostatnio zmodyfikowano 2013-04-11 15:35
Forczek Temat założony przez niniejszego użytkownika |
Problem z funkcją. » 2013-04-11 12:07:19 Siema wszystkim. Mam do was pytanie. Chciałem napisać taką funkcję: int wartosci( int & x[], int & y[], int & wartosc_x, int & wartosc_y ) Lecz wywala mi błędy i musiałem zmienić na int wartosci( int x[], int y[], int & wartosc_x, int & wartosc_y ) Powiedziałby mi ktoś, jak nadać odpowiednie wartości zmiennym? Przeczytałem, że można do zrobić poprzez & zmienna Nie wiem niestety jak zrobić to dla tablic. |
|
MrPoxipol |
» 2013-04-11 14:46:43 |
|
Forczek Temat założony przez niniejszego użytkownika |
» 2013-04-11 15:15:22 Chodzi mi o coś innego. Na przykładzie: #include <iostream>
int wartosc( int x ) { x += 1; }
int main() { int y = 0; std::cout << "Na poczatku: " << y << std::endl; wartosc( y ); std::cout << "Na koncu: " << y; }
Na poczatku: 0 Na koncu: 0
A ja chcę na koncu 1. Wtedy muszę dać int wartosc( int & x ) Nie wiem dlaczego nie działa dla tablicy i co z nią nie tak. Nie wiem, jak uzyskać taki efekt dla tablic, żeby na końcu było te 1. Bo bez znaku "&" zmienia się wartość tylko w środku tablicy. Rozumiesz? |
|
MrPoxipol |
» 2013-04-11 15:19:48 Co do tablic, nie daje się referencji. zmienia się wartość tylko w środku tablicy |
A w czym ma zmienić? w nazwie? w liczbie elementów? |
|
Forczek Temat założony przez niniejszego użytkownika |
» 2013-04-11 15:27:45 Wstaw sobie ten przykład do kompilatora i przeanalizuj: #include <iostream>
int wartosc_ze_znakiem( int & x ) { x += 1; std::cout << "W srodku funkcji: " << x << std::endl; } int wartosc_bez_znaku( int x ) { x += 1; std::cout << "W srodku funkcji: " << x << std::endl; }
int main() { int y = 0; std::cout << "Bez znaku" << std::endl; std::cout << "Na poczatku: " << y << std::endl; wartosc_bez_znaku( y ); std::cout << "Na koncu: " << y << std::endl; std::cout << "Ze znakiem" << std::endl; std::cout << "Na poczatku: " << y << std::endl; wartosc_ze_znakiem( y ); std::cout << "Na koncu: " << y; }
Minuta pisania. |
|
MrPoxipol |
» 2013-04-11 15:29:55 Dobrze wiem jak działa referencja :P Lepiej przeanalizuj sobie jeszcze parę rozdziałów kursu.. |
|
Monika90 |
» 2013-04-11 15:31:32 Ale co ty chesz osiągnąć? Chesz zmodyfikować zawartośc tablicy? Przekaż wskaźnik do pierwszego elementu i ewentualnie rozmiar. Chcesz zaalokować nową tablicę w funkcji? Przekaż referencję do wskaźnika i referencję do rozmiaru. |
|
pekfos |
» 2013-04-11 15:32:39 O to chodzi? int wartosci( int *& x, int *& y, int & wartosc_x, int & wartosc_y )
|
|
« 1 » 2 |