Ako mam vlozit triedu do return parameter funkcie? – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Ako mam vlozit triedu do return parameter funkcie? – C / C++ – Fórum – Programujte.comAko mam vlozit triedu do return parameter funkcie? – C / C++ – Fórum – Programujte.com

 

marek170
Návštěvník
26. 10. 2017   #1
-
0
-

utils.h

tValueF ComputeTopSpeed(const tValue& _topspeed,const tValue& _tsp1,const tValue& _tsp2,const tValue& _tsp3,const tPercent& _topspeedSum, const tPercent& _accelerationSum,
                const tPercent& _handlingSum);

Ccar.h

QString _brand, _speedAPIBrand;
        QString _type, _speedAPIType;
        tValue _topspeed;
        tValue _tsp1; (Ccar::_tsp1)
        tValue _tsp2;
        tValue _tsp3;
        tValue _acceleration;
        tValue _acc1;
        tValue _acc2;
        tValue _acc3;
        tValue _handling;
        tValue _hnd1;
        tValue _hnd2;
        tValue _hnd3;
        tID _id;
        Acquirable _acquirable;
        tIGC _value;
        QStringList _images;
        bool _isReworked;

parameter _tsp1 chcem odkazovat z triedy Ccar.h (Ccar::_tsp1) .Do return funkcie/parametra nejde vlozit Funkcia::meno iba meno.

Tak aby sa z funkcie tValueF ComputeTopSpeed kazdy parameter vo vnutri odkazoval na Ccar.h

Vo ComputeTopSpeed(const... )

Ked tam dam const tValue Ccar::_tsp1, tak kompiler ukaze :  error C2653: 'Ccar' : is not a class or namespace name

Nahlásit jako SPAM
IP: 185.142.51.–
KIIV
~ Moderátor
+43
God of flame
26. 10. 2017   #2
-
0
-

Tobe ten dotaz mozna dava smysl, nicmene ja to vubec nepochopil. Mozna by to chtelo napsat nejak obecneji. Neco jako chci misto parametru funkce pouzivat globalni promennou nebo tak.

Nahlásit jako SPAM
IP: 81.30.230.–
Program vždy dělá to co naprogramujete, ne to co chcete...
MilanL+1
Grafoman
27. 10. 2017   #3
-
0
-

#2 KIIV
no já to pochopil tak, že chce předávat jako parametr funkce referenci na jinou funkci, podle mě by to měl předat jako pointer a typ hodnoty si přiřazovat až uvnitř funkce.

Nahlásit jako SPAM
IP: 91.139.9.–
JerryM0
Věrný člen
27. 10. 2017   #4
-
0
-

#1 marek17
máš v tom hroznej zmatek... ty programuješ v C++ ?  nebo co to je ? to je Effel ? , odkaz na jednoduché proměnné mezi .h soubory možný je, ale musíš zahrnout .h soubor vzájmně do bou .h souborů - křížem. A nezapomenout udělat odkaz v .cpp souboru. A navíc sice nevim co je tValue za proměnou (asi jednoduchá proměnná typu int apod.) ale vyplatilo by se to udělat formou struktury a ne takhle formou volných proměnných v .h souboru. To co používáš tedy Funkce::meno jde jen u statických proměnných  ve třídě. Předpokladem je že Funkce je třída nikoliv jednoduchá funkce a nejde to ani u friend funkcí tříd. Protože jinak výraz Funkce::jméno nedává smysl ani v C++0x.

"...Tak aby sa z funkcie tValueF ComputeTopSpeed kazdy parameter vo vnutri odkazoval na Ccar.h..."

parametr čeho ??? proměnné ?   tValue není to samé jako  tValueF  nebo je ??? A taky předávat do metody proměnno const tValue& _tsp1, která je už definovaná/deklarovaná jako tValue _tsp1 je docela problém.

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:9103:...–
MilanL+1
Grafoman
27. 10. 2017   #5
-
0
-

Zdroj argumentů určuješ až při volání funkce ne u prototypu nebo při jejím programování.

Tzn až tam kde tu funkci voláš:

CCar CarX;  

tValueF něco = ComputeTopSpeed(..., CarX::tsp1,...);

pokud vstupuje více parametrů z daného objektu CCar, bylo by možná lepší předat referenci na objekt.

Nahlásit jako SPAM
IP: 91.139.9.–
marek170
Návštěvník
27. 10. 2017   #6
-
0
-

zacinam sa ucit. Iba prepisujem nejake veci, vo povodnom kode.

Pretoze po uprave kodu mi to prestalo ratat.

upravovany zdroj https://mega.nz/#!mkhywT7I!9FTV40Loi9f_-qH2n22950u5uQDSwrAqfPPmSm5YyEE

je tam aj skompilovany program s QT kniznicami.

V subore utils.h je zahrnuty Ccar.h a Cpart.h (#define .h)

*Mam v tom zmatok. Dnes mi prisla literatura z Martinus,

Nahlásit jako SPAM
IP: 185.142.51.–
JerryM0
Věrný člen
27. 10. 2017   #7
-
0
-

#6 marek17
ty to píšeš v Eclipse co ? to máš blbý protože mě to VisualStudio neotevře :) a tom souboru utils.h a .cpp je hroznej zmatek.

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:9103:...–
marek170
Návštěvník
27. 10. 2017   #8
-
0
-

ano je tam zmetok./bordel. Upravujem cez MSVS2010 Addin1.11 QT4 Tie komenty mozes ignorovat.

Prisla mi literatura C++ (objednane knihy z Martinus ,3 knihy). Povodny autor kodu mi nepodpoveda. Skoda ze to QT nejde skonvertovat do Std.

Nahlásit jako SPAM
IP: 185.142.51.–
JerryM0
Věrný člen
27. 10. 2017   #9
-
0
-

#8 marek17
když to nějak zkonvertuješ aby to šlo otevřít v MS VisualStudiu 2017 tak ti možná poradim

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:9103:...–
marek170
Návštěvník
27. 10. 2017   #10
-
0
-

Skusit mozem ,ci to pojde skonvertovat do STD (MSVS20xx)

Nahlásit jako SPAM
IP: 185.142.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 34 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý