Hi Harry ^^
from your post I guess Label contains some kind of a string (char pointer)? And when you're later trying to read that string, it appears garbled?
This can happen, when you dereference a char pointer e.g. to a deleted character array. The memory might be overwritten by another allocation, but the address might still be valid for your programme (that way you don't get an access violation exception).
See if you can trace your Label pointer l and find out two things: 1) is it really l that you are passing to the function in question? 2) do you delete l (or the pointer to the "name of the function" inside the object) before you dereference it in the function in question?
Next time try to at least add the definition (minimum fields, constructor/deconstructor) of Label, or try to explain more, how the "name of the function" is represented, how you're passing it around and how you're trying to access it in your code.
Best,
BeyelerStudios