| | |
| Stránka: 1 z 1
| [ Príspevok: 1 ] | |
Autor | Správa |
---|
Registrovaný: 21.07.07 Prihlásený: 11.01.13 Príspevky: 76 Témy: 42 | Napísal Loko11: 03.07.2010 1:44 | |
|
zdravím, mám taký problém.Týka sa ukazovateľov na funkcie, tu je názorný príklad môjho problému:
mal som takýto kód:
Kód: #include<iostream>
float Sum(int from, float(*function)(float x), int to) { if(to < from)return 0; return function(from) + Sum(from + 1, function, to); }
float identic(float x) { return x; }
class TRIEDA { float num[20]; float sum; float val(float x) { return num[(int)x]; } TRIEDA() { sum = Sum(0, val, 19);<-----------------------tu... } };
int main() { std::cout << Sum(1, identic, 100); std::cin.get(); }
...mi vyhodilo chybu: argument of type `float (TRIEDA::)(float)' does not match `float (*)(float)'. našiel som niečo o tomto aj na nete a na základe toho som to riešil takto: Kód: #include<iostream>
float Sum(int from, float(*function)(float x), int to) { if(to < from)return 0; return function(from) + Sum(from + 1, function, to); }
template<class C> float Sum(int from, float(C::*function)(float x), int to) { if(to < from)return 0; return ((C->function)(from)) + Sum(from + 1, C->function, to);<----------v tomto riadku... }
float identic(float x) { return x; }
class TRIEDA { float num[20]; float sum; float val(float x) { return num[(int)x]; } TRIEDA() { sum = Sum<TRIEDA>(0, val, 19); } };
int main() { std::cout << Sum(1, identic, 100); std::cin.get(); }
...mi hádže chyby a aj v riadku(skúšal som rôzne syntaxe), kde bola pôvodná chyba
neviem, ako by sa dala ako použiť parameter funkcie členská funkcia
_________________ TUKE FEI Inteligentné systémy 3.ročník |
|
| Stránka: 1 z 1
| [ Príspevok: 1 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Ukazovatele (pointers) na funkciu (vyznam) v C++ otazka v Assembler, C, C++, Pascal, Java | 3 | 755 | 02.02.2016 19:32 Elendil | | Problém s ukazovatelom batérie na notebooku v Ostatné programy | 2 | 617 | 28.02.2010 8:58 Iwes | | C/C++ problém so súbormi a hodnotami v Assembler, C, C++, Pascal, Java | 2 | 310 | 09.12.2012 10:43 nBXXL | | C&C Generals problem v Počítačové hry | 2 | 645 | 16.01.2011 12:35 Luks | | Problem C&C Generals v Počítačové hry | 20 | 1236 | 12.10.2007 21:09 Matokoko | | C&C: Rengade-problem v Počítačové hry | 0 | 528 | 21.04.2009 15:39 GothicMan | | ako ukryt funkciu eval? v PHP, ASP | 9 | 597 | 22.12.2010 19:11 Flety | | rozsirenie pre funkciu limit word v PHP, ASP | 5 | 476 | 12.09.2011 15:58 DeeJay3 | | Mozilla Firefox- ako vypnúť funkciu... v Sieťové a internetové programy | 3 | 587 | 27.11.2010 21:27 acer564 | | Myš ktorá splní svoju funkciu v Externé zariadenia | 7 | 421 | 12.09.2016 23:42 M_i_s_o | | Funkcia "scitanie" s ukazovatelom v Assembler, C, C++, Pascal, Java | 6 | 742 | 18.02.2011 7:55 reDo | | Excel – vytváranie makra – ako opakovať funkciu? v Ostatné | 2 | 2148 | 28.05.2018 9:24 Idea | | vie router zastat funkciu access pointu? v Siete | 2 | 500 | 06.04.2007 16:54 robot82 | | Problem s teplotou? Speedfan Core- 4°C a Core 96°C v AMD - Advanced Micro Devices | 18 | 1220 | 08.05.2011 15:57 slavix | | Premenovanie suborov v zlozke cez md5 funkciu ? v Ostatné | 2 | 328 | 29.06.2013 13:24 d0.0b | | Som úplny zaciatocnik v Linuxe, ako rozbehat tuto funkciu: v Operačné systémy Unix a Linux | 1 | 680 | 08.02.2011 12:00 Igor |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|