Nirvan Opublikowano 7 Marca 2013 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!
Utermiko Opublikowano 7 Marca 2013 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 :)
ediepl Opublikowano 7 Marca 2013 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; }
Krzy100f Opublikowano 14 Marca 2013 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; }
ediepl Opublikowano 14 Marca 2013 Opublikowano 14 Marca 2013 A jak chcesz ustawić kilka zmiennych w jednej funkcji, lub potrzebujesz zwrócić coś innego?
Konrad-GM Opublikowano 14 Marca 2013 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).
Krzy100f Opublikowano 15 Marca 2013 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.
Utermiko Opublikowano 15 Marca 2013 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.
Krzy100f Opublikowano 15 Marca 2013 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
Konrad-GM Opublikowano 16 Marca 2013 Opublikowano 16 Marca 2013 C# jest głupi bo jest tylko na Windowsa XD. Linux forever. Tak na przyszłość... Mono
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ę