Mi a hiba? Sürgős pliz C++
//main.cpp
# include <iostream> //std függvénykönyvtár
# include <stdlib.h> //return EXIT_SUCCESS
# include <windows.h> //Sleep(500),exit(0)
typedef unsigned short ushort;
using std::cout;
using std::cin;
using std::endl;
inline ushort ao1(float p1 = 1);
inline ushort ao2(float p2 = 1);
inline ushort ao3(float p3 = 1);
inline ushort ao4(float p4 = 1);
inline ushort ao5(float p5 = 1);
inline ushort ao6(float p6 = 1);
int main()
{
float xyz = true;
float eredmeny = false;
eredmeny = ao6(ao5(ao4(ao3(ao2(ao1(xyz))))));
cout <<"Eredmeny: "<< eredmeny;
//system("pause > nul");
cin.get();
return EXIT_SUCCESS;
}
inline ushort ao1(float p1 = 1) {return p1*2;}
inline ushort ao2(float p2 = 1) {return p2+2;}
inline ushort ao3(float p3 = 1) {return p3/5;}
inline ushort ao4(float p4 = 1) {return p4%2;}
inline ushort ao5(float p5 = 1) {return p5-10;}
inline ushort ao6(float p6 = 1) {return p6*5;}
a függvények paramétereinek alapértelmezett értékét csak a függvénydeklarációnál kell megadni, lebegőpontos számok esetén a % operátor nem használható (helyette fmod függvény), "false" értéket adni float változónak, ha nem is hibás, de nem túl szép megoldás
így hirtelen ennyi
Hogy hogy minden?
Hát látod mit csinál nem?
Csak gyakorlok értelmetlen az a feladat de nem fordul le.
xyz változó értékét átadom az ao1 függvénynek majd az kiszámol valamit és átadja a visszatérési értéket a ao2 nek az is kiszámol valamit és így tovább.
De nem fordul le.
hibaüzi:default argument given for parameters 1 of 'ushort ao1(float)'[-fpermissive]
20:56 - os válaszoló nem fordul le akkor sem.
Egyébként meg tudom,azokat amiket írtál.
//main.cpp
# include <iostream> //std függvénykönyvtár
# include <stdlib.h> //return EXIT_SUCCESS
# include <windows.h> //Sleep(500),exit(0)
typedef unsigned short ushort;
using std::cout;
using std::cin;
using std::endl;
inline float ao1(float p1 = 1);
inline float ao2(float p2 = 1);
inline float ao3(float p3 = 1);
inline float ao4(float p4 = 1);
inline float ao5(float p5 = 1);
inline float ao6(float p6 = 1);
int main()
{
float xyz = true;
float eredmeny = 1.0;
eredmeny = ao6(ao5(ao4(ao3(ao2(ao1(xyz))))));
cout <<"Eredmeny: "<< eredmeny;
//system("pause > nul");
cin.get();
return EXIT_SUCCESS;
}
inline float ao1(float p1 = 1) {return (p1*2);}
inline float ao2(float p2 = 1) {return (p2+2);}
inline float ao3(float p3 = 1) {return (p3/5);}
inline float ao4(float p4 = 1) {return (p4+2);}
inline float ao5(float p5 = 1) {return (p5-10);}
inline float ao6(float p6 = 1) {return (p6*5);}
Szia!
Nem próbáltam ki, de 99.9%-ban biztos vagyok benne, hogy az lehet a gond, amire gondolok.
Egy picit segítek:
Felülírhatod a paraméterek default értékét, de csak paraméterenként egyszer teheted meg. Itt pedig, ha kiértékeljük azt a zagyvaságot az eredménynél, akkor nem igazán egyszer lett felüldefiniálva.
Az a float xyz = true, elég perverz :). Ha még 1-et is ad vissza, semmi értelme az ég világon.
Szerintem, ha ilyesmit akarsz csinálni, akkor inkább csináld rekurzívan. Ha egy akár több tízezer soros projectben ilyet látnak, akkor tuti megskalpol valaki. :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!