Проблема в том, что ваша строка ошибки
return pWrapper-ExecuteThread(); // Error here.
пропускает >
; должно читаться
return pWrapper->ExecuteThread(); // Error here.
Вы получаете такую странную ошибку компиляции, поскольку она пытается выполнить вычитание; указатель pWrapper
рассматривается как целое число, и из него вычитается значение, возвращаемое при вызове ExecuteThread()
(что дает int
). Однако ExecuteThread()
не является ни глобальной функцией, ни статической функцией-членом - поэтому компилятор жалуется.