Błąd, deklaracja i definicja funkcji, zmienne tekstowe [C++]

0

Napisałem taki kod:

#include <iostream>

using namespace std;

string daneosobowe(string imie, string nazwisko, string wiek, string zawod);

int main()
{
    string imie, nazwisko, wiek, zawod;

    cout << "Wprowad" << char(-85) << " swoje dane osobowe." << endl;
    cout << endl;

    cout << "Imi" << char(-87) << ": "; cin >> imie;
    cout << "Nazwisko: "; cin >> nazwisko;
    cout << "Wiek: "; cin >> wiek;
    cout << "Zaw" << char(-94) << "d: "; cin >> zawod;
    cout << endl;

    daneosobowe();

    system("PAUSE");
    return EXIT_SUCCESS;
}

string daneosobowe(string imie, string nazwisko, string wiek, string zawod)
{
    cout << "Imi" << char(-87) << " i nazwisko: " << imie << " " << nazwisko << endl;
    cout << "Wiek           : " << wiek << endl;
    cout << "Zaw" << char(-94) << "d          : " << zawod << endl;
    cout << endl;
}

Wyświetlają się komunikaty o błędach:

error: too few arguments to function `std::string daneosobowe(std::string, std::string, std::string, std::string)'|
error: at this point in file|
== Build finished: 2 errors, 0 warnings ===

Rozumiem, co one znaczą, ale nie wiem jak rozwiązać problem. Jakieś wskazówki ?

Dodam tylko, że używam Code::Blocks 10.05 (za radą użytkowników tego forum).

1

Hmmm,

deklaracja: | string daneosobowe(string imie, string nazwisko, string wiek, string zawod);
definicja: | string daneosobowe(string imie, string nazwisko, string wiek, string zawod)
wywołanie: | daneosobowe();

Króry z trzech nie pasuje??? I co może znaczyć: error: too few arguments to function

0
madmike napisał(a)

(...)I co może znaczyć: error: too few arguments to function

To znaczy (dosłownie), że jest "za mało argumentów funkcji".

Dopisałem informację o typie przy wywołaniu: string daneosobowe()

Program się kompiluje, lecz nadal jest problem.
Pobiera imię, nazwisko, etc., ale nie wypisuje danych na ekranie zgodnie z zamysłem funkcji daneosobowe(), po prostu kończy program.

0
cichociemny napisał(a)

Dopisałem informację o typie przy wywołaniu: string daneosobowe()
Po co? A tak w ogóle to wiesz co robisz, czy po prostu zgadujesz???

Pomyśl!!! Musisz wywołać funkcję z argumentami, które pobrałeś z klawiatury. A tak z ciekawości: co według ciebie zwraca ta funkcja???

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