In .NET Framework you can do this:
void f( Object^ p )
{
int x = (int)p;
}
System::Void Form1_Load( System::Object^ sender, System::EventArgs^ e )
{
using namespace System::Threading;
Thread^ t = gcnew Thread( gcnew ParameterizedThreadStart( this, &Form1::f ) );
t->Start( 10 );
}