Определен ли тип 'CRecvProxyData'? В остальном ваш код корректен (при условии, что все пользовательские типы определены правильно), хотя я предлагаю вам поместить открывающие и закрывающие фигурные скобки для определения функции на их собственных строках.
Кроме того, я не согласен с void *: это немного похмелье от C, вы должны стремиться исключить его из исходного кода, где это необходимо. Не могли бы вы вместо этого использовать полиморфизм или шаблоны?
Вероятно, вы пропустили #include или сделали ошибку в ваших включенных охранниках. Если бы вы могли опубликовать содержимое файла, в котором определено «CRecvProxyData», а также код, который вы опубликовали, это было бы очень полезно. Иначе я могу только строить догадки:).