Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Be raktam a teljes kodot amiben a forditó kiborul (void) érték vissza hivás!
Bővebben: Link
Valamilyen hibás magyarra fordítás eredménye ez a "(void) érték visszahívás", ilyesmi nincs abban a két hibaüzenetben, amit küldtél. Az első üzenet a lényeg, a második csak az mutatná meg, hogy hol történt a hiba. Az, hogy annak a nyílnak a hegye így, normál szövegként idemásolva az üzenetedet a "void" szóra mutat, nincs jelentősége. Ezzel kell csak foglalkozni:
"void_hivas1:15:10: error: too few arguments to function 'void test(int*, int*)'" Azért kérdeztem, érted-e, mert szerintem meg sem próbáltad lefordítani. Ez a "too few arguments" szó szerint azt jelenti, hogy egy függvény fejében túl kevés argumentumot (paramétert) adtál meg annak hívásakor. Vagyis ez az alábbi sor nem jó a hívásnál, mert itt egyetlen paramétert adsz meg, hogy átadásra kerüljön a "test" függvénynek, nem kettőt: test(&i); Ha működő kódot szeretnél az általad mutatott "void test(int *a, int *b);" függvény hívására, akkor az így fog kinézni: test(&i, &j); Ehhez persze kell, hogy létezzen a Setup függvényben egy második integer változó is, vagyis az "int i;" definíció után kell egy "int j;" is. (A "j" betűt csak azért használtam, mert az következik az "i" után, ennek nincs jelentősége.) Megadhatok egy működő kódot, de úgy nem biztos, hogy tanulsz belőle, el kellene tudnod mondani, hogy végül is mit szeretnél megvalósítani. Pusztán példakódnak néz ez ki, egy kísérletnek arra, hogy le tudod-e fordítani, de akkor meg jó lenne előtte még alapozni egy kicsit, különben nem fog menni. Ehhez jó pár magyar nyelvű, online, ingyenes C programozási útmutató is van az Interneten, könnyű rájuk találni. Tehát:
Így le kell fordulnia, bár a két változónak illik értéket adni, mielőtt bármit is csinálunk velük, így véletlenszerű a tartalmuk, a C nyelv nem állít be számukra alapértéket, pl. nullát. A hozzászólás módosítva: 12:30
A hibaüzenetekből nem mindig derül ki a legmélyebben levő probléma. Ez a bővebben bemutatott kód elsősorban azért rossz, mert egy függvénydefiníció belsejébe beleraktál egy másik függvénydefiníciót. Ilyen szintaxis a C-ben nem létezik. Az encRotationToValue()-t a loop() fölé kell rakni önálló függvényként, és a loop()-ból meghívni a megfelelő paraméterekkel.
Valamint a cím szerint átadott változóknak is hibásan próbálod az értékét megváltoztatni (pl. "*value=" helyett "value=") - nyilván azért született a másik program, a tesztprogramod, mert nem tudtad lefordíthatóra összehozni, és ezért is kísérletezel az encRotationToValue() függvény elhelyezésével. Lásd a többi hozzászólásomban, amiket írtam. A hozzászólás módosítva: 13:23
|
Bejelentkezés
Hirdetés |




