Skocz do zawartości

Funkcje ze zmiennymi z maina


Nirvan

Rekomendowane odpowiedzi

#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

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

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