Самый простой способ - использовать typedef для указателя функции:
typedef DWORD (WINAPI *ThreadProc)(LPVOID);
class MyClass
{
public:
ThreadProc foo(const std::string & x);
};
...
ThreadProc MyClass::foo(const std::string & x)
{
// return a pointer to an appropriate function
}
В качестве альтернативы, если вы по какой-то причине не хотите использовать typedef, вы можете сделать это:
class MyClass
{
public:
DWORD (WINAPI *foo(const std::string & x))(LPVOID);
};
...
DWORD (WINAPI *MyClass::foo(const std::string & x))(LPVOID)
{
// return a pointer to an appropriate function
}
Синтаксис довольно уродливый, поэтому я настоятельно рекомендую использовать typedef.