Здравствуйте.
Не могу вызвать функцию член класса по указателю.
У меня еть класс для работы с протоколом SCPI. Ниже приведен его упрощённый вид.
В нем объявлен тип scpi_command_callback_t указатель на функцию член класса.
Указатель на функцию член хранится в структуре scpi_command_t. Но при попытке вызова функции по указателю я получаю ошибку ошибка: 'callback' was not declared in this scope.
#ifndef SCPIPARSER_H
#define SCPIPARSER_H
class SCPIParser : public QObject
{
Q_OBJECT
public:
explicit SCPIParser(QObject *parent = 0);
public:
typedef scpi_result_t(SCPIParser::*scpi_command_callback_t)();
struct scpi_command_t {
const char * pattern;
scpi_command_callback_t callback;
};
scpi_result_t SCPI_CoreCls();
};
#endif
Внутри класса следующий код
const scpi_command_t * cmd = context.paramlist.cmd;
(cmd->*callback)() ; //ошибка: 'callback' was not declared in this scope