C++ 具有标头的类中的方法和参数声明问题
大家好 我在头文件中定义的类中声明一些参数时遇到了很大的问题 <>我用C++树莓PI,尝试通过一个类实现一些对象。 因此,我:C++ 具有标头的类中的方法和参数声明问题,c++,class,object,raspberry-pi,C++,Class,Object,Raspberry Pi,大家好 我在头文件中定义的类中声明一些参数时遇到了很大的问题 我用C++树莓PI,尝试通过一个类实现一些对象。 因此,我: 我调用对象的主cpp文件(它可以工作,我相信,您会看到) 名为“Motorcontrol01.cpp”的类cpp文件 名为“Motorcontrol01.h”的头文件 我的代码比我在这里展示的更复杂,但为了测试的目的,我简化了它,但它无论如何都不起作用-: “Motorcontrol01.cpp”: //#################################
- 我调用对象的主cpp文件(它可以工作,我相信,您会看到)
- 名为“Motorcontrol01.cpp”的类cpp文件
- 名为“Motorcontrol01.h”的头文件
//###################################################################################
//类,用于创建不同的移位寄存器条目数据
//###################################################################################
#包含//以便Cout显示内容
#包含//用于计算时间的库
#包含//用于多线程
#包括
#包括//Raspberry pi GPIO库
#包括“MotorControl01.h”//查看当前目录
MotorControl::MotorControl(){//constructeur
std::vector DataArr(16,std::vector(8,0));//用于传输电机控制数据的带有布尔值的向量向量
//###################################################################################
//GPIO引脚定义
//###################################################################################
int SPser=13,SPclk=19,SPrclk=26;//定义用于主移位寄存器的输出引脚
int PWMSPclk=17,PWMSPrclk=18;//定义输出引脚以控制PWM移位寄存器
}
无效电机控制::SendDataPWM(标准::矢量数据阵列){
//初始化接线PI并允许使用BCM引脚编号
wiringPiSetupGpio();
//初始化引脚
pinMode(SPser,输出);
引脚模式(SPclk,输出);
引脚模式(SPrclk,输出);
pinMode(PWMSPclk,输出);
pinMode(PWMSPrclk,输出);
而(1){
digitalWrite(PWMSPclk,高);//将引脚设置为高值
数字写入(PWMSPclk,低电平);
std::cout您正在构造函数中声明局部变量并为其赋值。这些变量的寿命很短,它们的值仅在构造函数中可见(并且与同名的成员变量无关)。
您的构造函数应该如下所示,为使用类的私有变量(成员)的其他函数中使用的成员赋值
MotorControl::MotorControl(){//constructeur
//GPIO引脚定义
SPser=13;
SPclk=19;
SPrclk=26;//定义用于主移位寄存器的输出引脚
PWMSPclk=17;
PWMSPrclk=18;//定义输出引脚以控制PWM移位寄存器
}
在构造函数中声明数组也没有意义,因为在那里不使用它。请不要把文本作为图像来粘贴。复制粘贴会做得更好。C++和C非常不同。请选择适当的。tags@Gerhardh我无法复制命令提示符内容,因为它一直在不停地流动(我不知道如何阻止它……我是Linux中的新手)。我不是把它标记为C++??我知道C和C++不应该混淆,如果我犯了错误,抱歉。可能是我键盘上的数字键盘没有被Rpi通过我设置的VNC服务器识别^,@maxim_sagaydachny Yehaaa,就是这样!我知道这很简单!非常感谢!我的东西仍然不起作用,但至少不是因为这个XD