Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wskaźnik tablicy, konwersja typów

Ostatnio zmodyfikowano 2016-10-29 19:57
Autor Wiadomość
bati22
Temat założony przez niniejszego użytkownika
Wskaźnik tablicy, konwersja typów
» 2016-10-29 19:57:54
Witam
Nie mogę skompilować poniższego programu, gdyż wyskakuje mi komunikat o nieudanej konwersji typu double* na const char**.
C/C++
//arrobj.cpp -- funkcje z obiektami typu array (C++11)
#include <iostream>
#include <array>
#include <string>

// dane stałe
const int Seasons = 4;
const char * Snames[ Seasons ] =
{ "Wiosna", "Lato", "Jesień", "Zima" };

// funkcja modyfikująca tablicę typu array
void fill( const char * pa[], int Seasons );

// funkcja przetwarzająca tablicę typu array bez ingerencji w jej zawartość
void show( double da[], int Seasons );

int main()
{
    double expenses[ Seasons ];
    fill( expenses, Seasons );
    show( expenses, Seasons );
    return 0;
}

void fill( double * pa[], int Seasons )
{
    using namespace std;
    for( int i = 0; i < Seasons; i++ )
    {
        cout << "Podaj wydatki za okres >>" << Snames[ i ] << "<<: ";
        cin >>( * pa )[ i ];
    }
}
void show( double da[], int Seasons )
{
    using namespace std;
    double total = 0.0;
    cout << "\nWYDATKI\n";
    for( int i = 0; i < Seasons; i++ )
    {
        cout << Snames[ i ] << ": " << da[ i ] << " zł" << endl;
        total += da[ i ];
    }
    cout << "Łącznie wydatki roczne: " << total << " zł " << endl;
}

Komunikat: error: cannot convert 'double*' to 'const char**' for argument '1' to 'void fill(const char**, int)'|
W którym miejscu jest ta konwersja, której nie może wykonać kompilator?
EDIT: Zamykam temat, bo widzę że prototyp skopałem.
P-153029
« 1 »
  Strona 1 z 1