Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
9 years, 7 months ago.
How to parse variables from a void to a function
1 Answer
9 years, 7 months ago.
Your question is vague but I'm going to take a guess at what you're asking ...
typedef struct {
    int x;
    int y;
    int z;
} thing1;
typedef struct {
    float scale;
    float offset;    
} thing2;
thing1 first = {1, 2, 3};
thing2 sec = {3.15f, -1.00f};
void myFunc(int thingType, void * pThing) {
    if (thingType == 1) {
        thing1 * ptr = (thing1 *)pThing;    // the cast lets us extract meaning behind the void *
        printf("thing1 has (%d,%d,%d)\r\n", ptr->x, ptr->y, ptr->z);
    } else if (thingType == 2) {
        thing2 * ptr = (thing2 *)pThing;
        printf("thing2 has (%f,%f)\r\n", ptr->scale, ptr->offset);
    } else {
        printf("unknown thingtype\r\n");
    }
}
... 
    myFunc(1, (void *)&first);
...
    myFunc(2, (void *)&sec);
...
 
                            
Can anyone give me a hint on how this is done
posted by Hut The Nut 08 Mar 2016Can you show with some (pseudo) code what exactly you try to do?
posted by Erik - 09 Mar 2016