Help!cannot convert parameter again

Hello.I've read the FAQ about the "cannot convert parameter" problem.However,I still can't figure out what's wrong with my program.
Here is the code:
void BounceProc( char * MyID );
void main()
{
_beginthread(BounceProc, 0, &ThreadNr );
}
void BounceProc( char *MyID)
{
......
}
And the compiler keeps telling me this:
error C2664: '_beginthread' : cannot convert parameter 1 from 'void (char *)' to 'void (__cdecl *)(void *)'
None of the functions with this name in scope match the target type

There is no class used in my program;It's just C style.So I really don't know what to do.
Can you help me out?Thanks a lot.
[744 byte] By [queerfish] at [2007-11-19 0:59:49]
# 1 Re: Help!cannot convert parameter again
Your thread function signature is wrong...the answer can be found in the following FAQ ( http://www.dev-archive.com/forum/showthread.php?t=312452)...
Andreas Masur at 2007-11-9 13:56:44 >
# 2 Re: Help!cannot convert parameter again
That FAQ certainly gives the answer, but it doesn't exactly jump out at you ;)

Your thread's signature is wrong. _beginthread wants a void (__cdecl *)(void *), so your Bounce function should be defined like this:

void __cdecl Bounce(LPVOID pVoid)
{
char* MyID = (char*) pVoid;
...
}

You might not need the __cdecl

Mike
MikeAThon at 2007-11-9 13:57:44 >
# 3 Re: Help!cannot convert parameter again
That FAQ certainly gives the answer, but it doesn't exactly jump out at you ;)

Well...I usually expect people to think about a problem... :cool:
Andreas Masur at 2007-11-9 13:58:43 >
# 4 Re: Help!cannot convert parameter again
Yes,thank you very much.In fact,I feel myself rather stupid... :blush:
I will think further next time!
queerfish at 2007-11-9 13:59:49 >