Создание потока из метода класса

Уже несколько раз приходилось сталкиваться с проблемой невозможности запустить поток из функции, которая является методом класса. Компилятор упрямо возвращает ошибку подобную, приведенной ниже:

error C2664: ‘CreateThread’ : cannot convert parameter 3 from ‘unsigned long (__thiscall CMyClass::*)(void *)’ to ‘unsigned long (__stdcall *)(void *)’

И его понять можно.  Функции требуется адрес статической функции. А, запуская поток с метода класса, в большинстве случаев есть желание, чтобы функция работала как полноценный метод экземпляра класса. Решить проблему помогает «финт ушами» описаный здесь. Некоторые советуют использовать для этого boost. Не считаю, что такая мелочь повод для подключения дополнительной библиотеки.

Какой-то умник добавил исходники решения проблемы на говнокод.ру.  Он определенно просто не в теме.