• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem ze wskaźnikami w zadaniu z dwoma funkcjami.

Object Storage Arubacloud
0 głosów
91 wizyt
pytanie zadane 4 maja 2020 w C i C++ przez Quba Użytkownik (870 p.)
edycja 4 maja 2020 przez Quba

Witam wszystkich pojawił mi się poniższy błąd. Zadanie nie jest skomplikowane chodzi o zwykłe odejmowanie jednak nie wiem jak naprawić ten błąd. Chodzi tu o wskaźniki. Poniżej zamieszczam kod:

#include <iostream>
using namespace std;

double reszta(double k,double cenap)
{
	double r;
	r=cenap-k;
	return r;
}

int main()
{
	double k,cenap;
	
	double (*wsk_1)();
	wsk_1 = &reszta;
	
	cout<<"Wpisz ile kosztuje produkt: ";
	cin>>k;
	cout<<endl;
	cout<<"Wpisz ile pieniedzy dal kupiec: ";
	cin>>cenap;
	cout<<endl;
	
	reszta(k,cenap);
	
	cout<<wsk_1;
	
	return 0;
}

A oto błąd, który się wyświetla:

Kompilator zaznacza linijkę 16.

[Error] invalid conversion from 'double (*)(double, double)' to 'double (*)()' [-fpermissive]

 

komentarz 4 maja 2020 przez tkz Nałogowiec (42,000 p.)

#include <iostream>
using namespace std;
  
double reszta(double k,double cenap)
{
    return k-cenap;
}

int main()
{

    cout<<"Wpisz ile kosztuje produkt: ";
    double k;
    cin>>k;
    cout<<endl;
    cout<<"Wpisz ile pieniedzy dal kupiec: ";
    double cenap;
    cin>>cenap;
    cout<<endl;
    double (*fcnPtr)(double,double){ reszta };
    cout<<(*fcnPtr)(k, cenap);
    return 0;
}

 

komentarz 4 maja 2020 przez Quba Użytkownik (870 p.)

Dziękuje za odpowiedź smiley

1 odpowiedź

0 głosów
odpowiedź 4 maja 2020 przez SimiVoid Pasjonat (19,790 p.)

Ogólnie to przekombinowałeś. Czy nie prościej było by tak:

#include <iostream>
using namespace std;
 
double reszta(double k,double cenap)
{
    return k-cenap;
}
 
int main()
{
    double k,cenap;
     
    cout<<"Wpisz ile kosztuje produkt: ";
    cin>>k;
    cout<<endl;
    cout<<"Wpisz ile pieniedzy dal kupiec: ";
    cin>>cenap;
    cout<<endl;

    cout<<reszta(k,cenap);
     
    return 0;
}

Zbędne też było tworzenie zmiennet tymczasowej w funkcji reszta.

Jeśli nie wiesz jak coś napisać to nie kombinuj tylko zajrzyj do jakiś poradników, bo poprawa linijki 16 nie pomoże, bo to co napisałeś nie trzyma się kupy.

komentarz 4 maja 2020 przez Quba Użytkownik (870 p.)

Zbędne ale chciałem wykorzystać wskaźniki. Dzięki za odpowiedź smiley

Podobne pytania

0 głosów
0 odpowiedzi 315 wizyt
pytanie zadane 20 stycznia 2022 w C i C++ przez wyntia Nowicjusz (120 p.)
0 głosów
1 odpowiedź 125 wizyt
pytanie zadane 26 lutego 2017 w C i C++ przez Mikusbombro Użytkownik (990 p.)
0 głosów
0 odpowiedzi 159 wizyt
pytanie zadane 5 stycznia 2019 w C i C++ przez MS Początkujący (430 p.)

92,556 zapytań

141,404 odpowiedzi

319,560 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...