如果我尝试使用我的结构,则会出现以下错误:
来自' 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?
为endSwitchHorizontal分配值?答案 0 :(得分:0)
您正在尝试将指针设置为位(bit *),整数为1。
如果要将该位的值设置为1,则可以取消引用指针,如下所示:
*input->p2_motorVerticalUp = 1;