expected primary-expression before '*' token

215
18 марта 2018, 21:24

Добрый день, подскажите пожалуйста, что я делаю не так? Хочу создать структуру из двух байтов и указателя на функцию, прикомпиляции выдает ошибку:

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
Answer 1

Попробуй убрать список аргументов

const struct TCommand tcIdentify = {opIdentify, 1, 
      &FInitConnection(quint8*buf)}

на

const struct TCommand tcIdentify = {opIdentify, 1, 
      &FInitConnection}

Написал адрес результата вызова функции с аргументами. А надо адрес только самой функции.

READ ALSO
Ошибка в работе деструктора

Ошибка в работе деструктора

Помогите пожалуйста разобраться в данной ошибкеСам еще только учусь, поэтому потратил большое количество времени, пытаясь разобраться в этом

220
Подключение *.pas файла к проекту в C++ Builder

Подключение *.pas файла к проекту в C++ Builder

Имеется проект в C++ Builder, также имеется файл форматаpas содержащий довольно большое количество нужного кода

172
Проблемы с QTime C++/Qt

Проблемы с QTime C++/Qt

Есть конструктор для класса, в который передается начальное время:

176
Как добавить в свой проект библиотеку libosmscout?

Как добавить в свой проект библиотеку libosmscout?

Как добавить в свой проект библиотеку libosmscout ? Я использую IDE Qt Creator, у меня операционная система WindowsПишу я на C++

188