C++ 解析结构并作为指针参数传递

C++ 解析结构并作为指针参数传递,c++,C++,我有一个结构 struct PTC_ConfigurationH20 { float period ; PTC_ConfigurationH20Probe probe[2] ; uint32_t padding ; }PTC_PACK; struct PTC_ConfigurationH20Probe { uint32_t probeSerialNumber; uint8_t p

我有一个结构

struct PTC_ConfigurationH20
    {
        float period ;
        PTC_ConfigurationH20Probe probe[2] ;
        uint32_t padding ;

      }PTC_PACK;



 struct PTC_ConfigurationH20Probe
    {
        uint32_t probeSerialNumber;
        uint8_t probeType;
        uint8_t range;
        uint8_t mode;
        uint8_t padding1;
        PTC_H20PIDParameters pid;
        uint32_t padding;
    };
我将上述PTC_配置H20结构数据解读为

H20::PTC_ConfigurationH20* tempConfiguration
                    = reinterpret_cast<H20::PTC_ConfigurationH20*>(message->GetData()); 
请帮忙

我需要将探测器[0]的对象pid指针传递给函数

bool SetPIDConfiguration(uint8_t probenumber, const H20::PTC_H20PIDParameters& calib,
                             PTC_Return* ret);
鉴于:

H20::PTC_ConfigurationH20* tempConfig;
假设SetPIDConfiguration将H20::PTC_H20PIDParameters的常量引用作为第二个参数(假设H20是某个命名空间限定符),则可以执行以下操作:

SetPIDConfiguration( notRelevant, tempConfig->probe[0].pid, notRelevant );

SetPIDConfiguration(…,tempConfiguration->probe[0].pid,…)
?它只是一个指针&ret,这里明显没有值。那么您是否尝试过
SetPIDConfiguration(0,tempConfiguration->probe[0].pid,NULL)
?你试过什么?我试过SetPIDCOnfiguration(0,*(tempConfig->probe[0].pid),&ret)我试过&tempConfig->probe[0].pid,我有一个错误:没有匹配的函数调用****函数的语法是SetPIDCOnfiguration(uint8_t probenumber,const H20::PTC_H20PIDParameters&calib,PTC_Return*ret);对我特别指出第二个参数是引用而不是指针。函数签名没有反映您的帖子标题。(不相关)与您的问题无关。tempConfig是一个指针,由运算符->取消引用。probe[0]返回对数组probe的第0个元素的引用(2个元素的数组到PTC_ConfigurationH20Probe),因此类型为PTC_ConfigurationH20Probe&。tempConfig->probe[0]。pid为您提供了所需的类型。错误:对SetPIdConfiguration(****)的引用未定义;这意味着函数SetPidConfiguration已声明但未定义。如果SetPidConfiguration是在一个h文件中声明的,那么它必须在某个cpp文件中定义(必须实现),并且必须编译该文件并与程序的其余部分链接。如果它是库的一部分,您的程序必须与库链接。它也已在cpp文件中定义和声明