Добрый день, подскажите пожалуйста, что я делаю не так? Хочу создать структуру из двух байтов и указателя на функцию, прикомпиляции выдает ошибку:
expected primary-expression before '*' token
в строке const struct TCommand tcIdentify = {opIdentify, 1, &FInitConnection(quint8*buf)};
#ifndef COMMANDS_H
#define COMMANDS_H
#include <QDataStream>
//Коды команд
#define opIdentify 0x01 //Идентификация прибора и протокола
const struct TCommand* Commands[]={
// &tcIdentify,
};
class commands
{
public:
commands();
//функции выполнения команд
struct TCommand{
quint8 Code; //Код команды
quint8 BCnt; //Кол-во фикс байт данных, которые нужно принять
void (*Exec)(quint8*buf); //функция, вызываемая при вызове команды
};
quint8 * buf = new quint8;
void FInitConnection(quint8 * buf);//установка соединения
const struct TCommand tcIdentify = {opIdentify, 1,
&FInitConnection(quint8*buf)};
};
#endif // COMMANDS_H
Попробуй убрать список аргументов
const struct TCommand tcIdentify = {opIdentify, 1,
&FInitConnection(quint8*buf)}
на
const struct TCommand tcIdentify = {opIdentify, 1,
&FInitConnection}
Написал адрес результата вызова функции с аргументами. А надо адрес только самой функции.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Помогите пожалуйста разобраться в данной ошибкеСам еще только учусь, поэтому потратил большое количество времени, пытаясь разобраться в этом
Имеется проект в C++ Builder, также имеется файл форматаpas содержащий довольно большое количество нужного кода
Как добавить в свой проект библиотеку libosmscout ? Я использую IDE Qt Creator, у меня операционная система WindowsПишу я на C++