webForumDet fria alternativet

Lite annorlunda vektor

4 svar · 178 visningar · startad av jerry_beach

jerry_beachMedlem sedan apr. 200147 inlägg
#1

Går det att skapa en vektor (en del kanske använder benämningen array, alltså inte Vector) med pekare till funktioner?
I så fall, hur?

BeatboxMedlem sedan okt. 20013 217 inlägg
#2

Är det inte bara att lagra void* i vektorn ?

jerry_beachMedlem sedan apr. 200147 inlägg
#3

Jag är inte säker på att jag riktigt hänger med.. Jag är ganska ny i C++-djungeln. Började plugga hemma på fritiden för 4-5 månader sen.
Ett kapitel i Stephen Pratas "C++-programmering" tar upp pekare till funktioner. Ett exempel använde en sådan pekare som agrument till en funktion, och sen kunde man använda pekaren för att anropa funktionen: *pf(3.5). Jag har för mig att syntaxen är så.
Så min fråga är: Hur skapar man då en vektor med pekare till funktioner. Jag har provat en massa variationer hemma, typ

void (*pf)(void)[40], och liknande. Men inget ville fungera.

Så hur är den korrekta syntaxen?

BeatboxMedlem sedan okt. 20013 217 inlägg
#4

Det är lite olika på hur kompilatorer vill att funktionspekare ska se ut. Det bästa är nog att kolla i hjälpen för just den kompilator du använder.

FridolfMedlem sedan aug. 2001723 inlägg
#5

Det är lättast om du använder en typedef först, tex:

typedef void (*funktionspekare) ();

funktionspekare pekararrayen[40] = { &funktion1, &funktion2....}

129 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)