You will have to use boost::bind to bind the instance and additional arguments to your thread.I am trying to pass two arguments to a boost thread using this call: boost::thread workerthread(&SshClient::SSHconnect,&sshclt,1,provec); the method for SSHconnect is: int SSHconnect(int,vector<string>);