Proste funkcje C++

0

Witam wszystkich!

Z góry uprzedzam że jestem początkujący więc proszę o zrozumienie ;)
Aktualnie uczę się podstaw funcji, toteż wymyśliłem sobie "zadanie",
że program za pomocą 3 funkcji (w tym main) wypisze mi:
A
A
B
B

Wiem, że wystarczyłoby zwykłe cout<<"A"<<endl; ....
ale nie w tym rzecz.

Spróbowałem zrobić to tak:
#include <iostream>
#include <string>

using namespace std;

void funkcjaa (string);
void funkcjab (string);
string A;
string B;

int main()
{
void funkcjaa (string A);
void funkcjab (string B);
return 0;
}

void funkcjaa (A)
{
A = "A";
cout<<A<<endl;
cout<<A<<endl;
}
void funkcjab (B)
{
B = "B";
cout<<B<<endl;
cout<<B<<endl;
}

Oprócz tego, że jest błąd wykrywany przez kompilator, który nie wiem jak usunąć,
to proszę powiedzcie co ewentualnie jeszcze jest do poprawki ;).

Dzięki z góry :)

0

Proponuję przerobić jakiś tutorial od podstaw, bo to co wkleiłeś nie trzyma się kupy :/

  1. Przy wywołaniu funkcji nie podaje się zwracanego przez nią typu, ani typu argumentu, który przyjmuje: void funkcjaa (string A);, powinno być tak: funkcjaa(A);
  2. W deklaracji funkcji za to zapomniałeś podać typ jaki przyjmuje jej argument, powinno być: void funkcjaa (string A){}.
  3. Jeżeli masz takie krótkie funkcje i jest ich mało to nie musisz ich dzielić na prototypy i deklaracje.
  4. Nazywaj jakoś ładnie te zmienne, bo mając np. wiele takich jednoliterowych można się łatwo pogubić.
0

Nie licząc pkt 3 - mówisz o czyś takim?:
#include <iostream>
#include <string>

using namespace std;

void funkcjaa (string A){};
void funkcjab (string B){};
string A;
string B;

int main()
{
funkcjaa (A);
funkcjab (B);
return 0;
}

void funkcjaa (A)
{
A = "A";
cout<<A<<endl;
cout<<A<<endl;
}
void funkcjab (B)
{
B = "B";
cout<<B<<endl;
cout<<B<<endl;
}

0

Prototyp piszemy tak: void funkcjaa (string A);, bez klamerek.
Deklaracja wygląda tak: void funkcjaa (string A){ A = "A"; cout<<A<<endl; cout<<A<<endl; }.

1 użytkowników online, w tym zalogowanych: 0, gości: 1