这样是编译通过了,但是不妥当,可能会造成程序崩溃
void ThreadFunc(int a ,int b)的函数定义了两个变量,在编译成汇编代码之后,API以为你这个函数规则是正常的ThreadProc规则进而调用函数时可能造成堆栈不平衡的错误,不建议使用。
至于为什么可以,是因为C/C++的灵活性,其实强制CreateThread函数的LPTHREAD_START_ROUTINE这个参数只是个函数指针,换句话说,只要你内存里有这个函数的地址,就能够编译通过,这些内容如果你学习了汇编语言之后就能更深刻地理解了。
编译通过并不代表运行正常,你的做法其实是很危险的,很有可能把程序弄崩溃,这就是C/C++的灵活性带来的副作用。