带指针的struct指针

时间:2017-11-13 10:01:29

标签: c++ pointers struct

如果我尝试使用我的结构,则会出现以下错误:

来自' int'的无效转换到#Arp :: Bit *' [-fpermissive]:

input->p2_motorVerticalUp= 1;

或' bool Arp :: Bit :: value'在这种情况下是私人的:

input->p2_motorVerticalUp->value = 1;

PROGRAMM:

//.hpp

    struct inputPorts
{
public:
    bit *p1_endSwitchHorizontal;
    bit *p2_motorVerticalUp;
    bit *p3_motorVerticalDown;
};


class MyProgram : public ProgramBase, private Loggable<MyProgram>
{
public:
    inputPorts *input;
    bit endSwitchHorizontal;
    bit motorVerticalUp;
    bit motorVerticalDown;

////////////////////////////////////////////////////////////////
//.cpp

void MyProgram::Execute()
{
    input->p1_endSwitchHorizontal = &endSwitchHorizontal;
    input->p2_motorVerticalUp = &motorVerticalUp;
    input->p3_motorVerticalDown = &motorVerticalDown;



    input->p2_motorVerticalUp= 1;
}

如何使用struct?

为endSwitchHorizo​​ntal分配值?

1 个答案:

答案 0 :(得分:0)

您正在尝试将指针设置为位(bit *),整数为1。

如果要将该位的值设置为1,则可以取消引用指针,如下所示: *input->p2_motorVerticalUp = 1;