This a quest about deadlock in C++11 standard.
In the sec3.2.4 of C++ Concurrency in Action, there is an example for preventing multithreads from deadlock. For guys
You are making copy of my_account and your_account to std::thread, but std::mutex is neither copyable nor movable.
my_account
your_account
Try pass by reference:
std::thread t1(transfer, std::ref(my_account), std::ref(your_account));