Вам нужно передать функцию или функтор как последний параметр, а не функцию-член.Если у вас включен c ++ 11, вы можете использовать lambda:
std::transform(decd.begin(), decd.end(), decoded.begin(),[this](const char it){ this->get_digit(it) } );
Поскольку у вас нет функций c ++ 11, вы можете преобразовать get_digit в функцию (вне класса):
int get_digit(char c)
{
return c-'0';
}
class BinaryCode {
public:
void decode(string decd)
{
int i;
std::vector<int>decoded(decd.size());
std::transform(decd.begin(), decd.end(), decoded.begin(), get_digit);
int length=decoded.length();
}
};
или создать функтор:
struct get_digit
{
int operator()(char c) const
{
return c-'0';
}
};
//...
std::transform(decd.begin(), decd.end(), decoded.begin(), get_digit());
//...