Nirvan Opublikowano 7 Marca 2013 Udostępnij Opublikowano 7 Marca 2013 Chcę zrobić funkcję która będzie mogła wykorzystywać zmienne zadeklarowane w mainie. Próbowałem to poszukac w googlach ale zasmiecone jest jak to wpisuje. Dzięki! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 7 Marca 2013 Udostępnij Opublikowano 7 Marca 2013 #include <iostream> using namespace std; void fun() { x=5; } int main() { int x=4; fun(); cout<<x; return 0; } Tak jak powyżej nie można zrobić. Poczytaj o zasięgu zmiennych. Można zrobić tak: #include <iostream> using namespace std; int x; void fun() { x=5; } int main() { x=4; fun(); cout<<x; return 0; } lub tak #include <iostream> using namespace std; void fun(int* x) //parametr nie musi się nazywać x { *x=5; } int main() { int x=4; fun(&x); cout<<x; return 0; } Pewnie znajdą się jeszcze jakieś bardziej eleganckie sposoby :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 7 Marca 2013 Udostępnij Opublikowano 7 Marca 2013 Można też użyć referencji: #include <iostream> using namespace std; void fun(int& x) { x=5; } int main() { int x=4; fun(x); cout<<x; return 0; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Krzy100f Opublikowano 14 Marca 2013 Udostępnij Opublikowano 14 Marca 2013 A można także sposobem najłatwiejszym , przypisywania. #include <iostream> using namespace std; int fun(x) { x=5; return x; } int main() { int x=4; x=fun(x); cout<<x; return 0; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 14 Marca 2013 Udostępnij Opublikowano 14 Marca 2013 A jak chcesz ustawić kilka zmiennych w jednej funkcji, lub potrzebujesz zwrócić coś innego? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 14 Marca 2013 Udostępnij Opublikowano 14 Marca 2013 A można także sposobem najłatwiejszym , przypisywania. #include <iostream> using namespace std; int fun(x) { x=5; return x; } int main() { int x=4; x=fun(x); cout<<x; return 0; } Lol. Najbardziej sensownym sposobem wydaje się poprzez referencję/wskaźnik, bądź odwołując się do zmiennej globalnej (jeżeli zaś funkcja 'foo' znajduje się poza plikiem z 'main'em, extern się kłania). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Krzy100f Opublikowano 15 Marca 2013 Udostępnij Opublikowano 15 Marca 2013 Jak ktoś piszę przez C++ to wskaźniki są oczywiste, ale nie w każdych język jest taka możliwość a zawsze warto wiedzieć że jak coś się zwraca po to by to do czegoś przypisać XD. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 15 Marca 2013 Udostępnij Opublikowano 15 Marca 2013 Jak ktoś piszę przez C++ to wskaźniki są oczywiste, ale nie w każdych język jest taka możliwość a zawsze warto wiedzieć że jak coś się zwraca po to by to do czegoś przypisać XD. W C# można przez słówko ref lub out. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Krzy100f Opublikowano 15 Marca 2013 Udostępnij Opublikowano 15 Marca 2013 C# jest głupi bo jest tylko na Windowsa XD. Linux forever. Blokada na 3 dni, mam alergię na tematy typu Windows vs Linux - Uzjel Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 16 Marca 2013 Udostępnij Opublikowano 16 Marca 2013 C# jest głupi bo jest tylko na Windowsa XD. Linux forever. Tak na przyszłość... Mono Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się