Although my C code runs just fine as well, I decided to change things to reflect C++11 threading changes. But since I don't have C++11, which is needed for the thread header, I had to run my code on an online compiler instead.
Here are snapshots of the way I changed the method and how I call the threads:
The picture above is the function definition. I no longer return void*, but just void, which is good enough for C++11. I added all of the info previously stored in structs as parameters, getting rid of the need to have thread info structs.