I have a function uci()
it works when it is initiated in a thread with the following commmand:
Thread^ newThread = gcnew Thread( gcnew ThreadStart(&uci));
However, when I require uci() to receive a parameter say uci(class * cPointer),
Your question should belong to the "Windows Programming" section as it is about use of C++/CLI.
I am not very familiar with C++/CLI, but looking at the API reference, you would want to use the ParameterizedThreadStart delegate instead, then pass your argument to the Thread::Start method.
Alright. I guess this is Windows specific, so how do I implement threading that would work in all platforms? And How do I pass the variables?