---
title: "Callback funktioner i C++"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/71789-callback-funktioner-i-c"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "Viktor"
published: "2003-03-22T08:55:56.000Z"
updated: "2003-03-22T10:46:01.000Z"
replies: 2
views: 274
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/71789-callback-funktioner-i-c"
---

# Callback funktioner i C++

## #1 — Viktor, 2003-03-22T08:55Z

Hej

Jag sitter och försöker få en callback funktion att fungera men det går inte.

När jag skriver såhär så fungerar det

```
class CallBackTest
{
public:
	void test();
	CallBackTest(){};
	~CallBackTest(){};
};

void CallBackTest::test()
{
	mp3_status_callback(Viktor);
	mp3_init();
}

void Viktor()
{
	printf("Test");
}
```

men jag vill att callback funktionen ska vara en klass funktion, dvs en funktion som hör hemma i klassen CallBackTest. Jag har försökt på lite olika sätt men ännu inte lyckats.

Såhär ser imlementationen av callback funktionen ut

```
[B][i]sndserver.h[/i][/B]
int mp3_status_callback(void (*callback)(int status));

[B][I]sndmp3.c[/I][/B]
static void* (*status_callback)(int status)=NULL;

/* Set the callback function for status updates */
int mp3_status_callback(void (*callback)(int))
{
	status_callback=callback;
	return 0;
}
```

/Viktor

Permalänk: https://www.webforum.nu/p/71789

## #2 — niko, 2003-03-22T10:21Z

Funkar det inte om du anger en statisk medlemsfunktion som callback? Icke-statiska medlemsfunktioner har en "this"-pekare som en dold inparameter vilket gör att funktionens signatur inte blir den förväntade.

Du hittar ganska mycket om problemet i fall du söker på "callback function class member" på Google. Det går säkert att trixa sig runt också om man verkligen behöver.

Permalänk: https://www.webforum.nu/p/985564

## #3 — Viktor, 2003-03-22T10:46Z

Ibland är man bara för korkad!

Hade glömt att lägga till en parameter i i funktionen... Hade det i min icke medlems funktion som fungerade men inte i den som jag la in i klassen. Men nu fungerar allt som det ska :) 

Tack för hjälpen ändå, den sök strängen som du gav ger mycket mer resultat en den som jag försökte med "callback c++"

/Viktor

Permalänk: https://www.webforum.nu/p/985575

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/71789-callback-funktioner-i-c
