Hi,
 
I want to pass data to a thread function. My question is- what is wrong with this code? The compiler error output is: "error: function returning a function". In the code below I am trying to pass an int to the thread function.
 
// ------------- code: how to pass data to the thread ? ----------------
#include <boost/thread/thread.hpp>
#include <boost/bind.hpp>
#include <iostream>

using namespace std;

class TestThread
{
public:
  void thread(int a);
  void CreateThreads(void);
};

void TestThread::thread(int a)
{
  cout << "I am thread " << a << endl;
}

void TestThread::CreateThreads()
{
  boost::thread t1( boost::bind( &TestThread::thread, 10));
  boost::thread t2( boost::bind( &TestThread::thread, 20));

  // wait for the thread to finish
  t1.join();
  t2.join();
}

int main()
{
  TestThread t;
  t.CreateThreads();
}