Skocz do zawartości

Funkcje ze zmiennymi z maina


Rekomendowane odpowiedzi

Opublikowano

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!

Opublikowano

#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 :)

Opublikowano

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;
}

Opublikowano

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;
}

Opublikowano
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).

Opublikowano

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.

Opublikowano
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.

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...