The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
Függvénydefiníció
Most, hogy átmentünk néhány mintán, nézzük meg a függvénydefiníció általános formáját:
void function-name() {
Változók deklarációi stb.
Kifejezések...
//nincs szükség explicit visszatérésre.
}
A függvény nem ad vissza különleges értéket, és nem ad vissza bejövő paramétereket.
void függvénynév(adattípus változó) {
Változók deklarációi stb.
Kifejezések...
//nincs szükség explicit visszatérésre.
}
Ha több változót szeretne, egyszerűen használja a "," jelet elválasztóként:
Egy függvény nem ad vissza speciális értéket, csak egy paraméterrel.
void függvénynév(adattípus-változó, adattípus-változó, stb.) {
Változók deklarációi stb.
Kifejezések...
//nincs szükség explicit visszatérésre.
}
Egy függvény nem ad vissza speciális értéket, de egynél több paraméterrel.
void függvénynév(adattípus-változó, adattípus-változó, stb.) {
Változók deklarációi stb.
Kifejezések...
return visszatérési érték
}
Egy függvény egy adott adattípus értékét adja vissza, és egynél több paraméterrel.
Egy függvényreturntípusának meg kell egyeznie a függvény által visszaadott visszatérési érték adattípusával. Avisszatérési értéklehet konstans érték vagy változó. Meg kell előznie a „return” kulcsszót.”
A következő szabályok szabályozzák a visszaküldés típusát:
- A visszatérési típusra szinte nincs korlátozás, kivéve a tömböt. (A tömb egy másik fejlettebb téma az adatok létrehozásával kapcsolatban. Ez kívül esik ennek a cikknek a hatályán, és itt nem foglalkozik vele.
- A „void” visszatérési típus megadása azt jelenti, hogy nincs szükség visszatérési értékre. A „visszatérés” záradék implicit. Ez azt jelenti, hogy az „érvénytelen” függvény végén kifejezetten meg kell adni a „return” szót.
Függvényt létrehozni a main() előtt vagy után?
A fordító felülről lefelé olvassa be a fájlt. Tehát a sorrend számít.
Vegyük például az egyszerű legnagyobb közös nevező (GCD) függvényt. A következő hibát fogja kapni:a nem deklarált 'getGCD' azonosító használata
Valójában ez igaz, függetlenül attól, hogy a fő( ) vagy más hívó funkcióblokkból származik, azaz a „hívott funkcióblokknak” meg kell előznie a „hívó funkcióblokkot”.
Két lehetséges megoldás:
int getGCD(int a, int b) {
int maradék = 1;
while (maradék > 0) {
maradék = a % b;
a = b;
b = maradék;
}
return a;
}
int main() {
Brain.Screen.printAt(5,60, “GCD( %d, %d ) = %d”, getGCD(60, 100));
}
Helyezze a „hívott függvényt” a „hívó függvényblokk” fölé a „main().” példában.
int getGCD(int, int);
int main() {
Brain.Screen.printAt(5,60, "GCD( %d, %d ) = %d", getGCD(60, 100));
}
int getGCD(int a, int b) {
int maradék = 1;
while (maradék > 0) {
maradék = a % b;
a = b;
b = maradék;
}
return a;
}
Tegye a függvény prototípusát (más néven aláírást) a „hívás funkcióblokk” elé.
Mi van akkor, ha modularizálni szeretnéd a függvényeket különböző fájlokban?
1. lépés: Hozz létre egy header fájlt, és illeszd be a függvény prototípusát ebbe a fájlba.
pl. hozzon létre egy "myFuncs.h" nevű fájlt
Ezt a fejlécfájlt hozzá kell adnia a projekthez, mielőtt lefordítaná a kódot. Ez lehetővé teszi a VEXcode Pro V5 IDE számára, hogy „tudatában legyen” ennek az új fejlécfájlnak, mielőtt elkezdi felépíteni a projektet.
Íme, hogyan:



Ebben a „common.h” fejlécfájlban (bármit elnevezhet, ha alfanumerikus, szóköz nélkül).
2. lépés: Hozz létre egy külön cpp fájlt, pl. common.cpp néven

//ez a common.cpp fájl
int getGCD(int a, int b) {
int maradék = 1;
while (maradék > 0) {
maradék = a % b;
a = b;
b = maradék;
}
return a;
}
Helyezze át a getGCD(...) függvényt ebbe a fájlba
#include "vex.h"
#include "common.h"
using namespace vex;
int main() {
vexcodeInit();
Brain.Screen.printAt(5,60, "GCD( %d, %d ) = %d", getGCD(60, 100));
}
Most a fő cpp fájlban csak a következőkből áll majd
Referencia:https://api.vexcode.cloud/v5/html/namespacevex.html
A jövőbeni témákkal a VEX Library fejlettebb részei foglalkoznak a jövőben:
- Pass by value vs. Pass by reference
- Passz egy tömbben
- Passz egy szerkezetben