Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 具有标头的类中的方法和参数声明问题_C++_Class_Object_Raspberry Pi - Fatal编程技术网

C++ 具有标头的类中的方法和参数声明问题

C++ 具有标头的类中的方法和参数声明问题,c++,class,object,raspberry-pi,C++,Class,Object,Raspberry Pi,大家好 我在头文件中定义的类中声明一些参数时遇到了很大的问题 我用C++树莓PI,尝试通过一个类实现一些对象。 因此,我: 我调用对象的主cpp文件(它可以工作,我相信,您会看到) 名为“Motorcontrol01.cpp”的类cpp文件 名为“Motorcontrol01.h”的头文件 我的代码比我在这里展示的更复杂,但为了测试的目的,我简化了它,但它无论如何都不起作用-: “Motorcontrol01.cpp”: //#################################

大家好

我在头文件中定义的类中声明一些参数时遇到了很大的问题

<>我用C++树莓PI,尝试通过一个类实现一些对象。 因此,我:

  • 我调用对象的主cpp文件(它可以工作,我相信,您会看到)

  • 名为“Motorcontrol01.cpp”的类cpp文件

  • 名为“Motorcontrol01.h”的头文件

我的代码比我在这里展示的更复杂,但为了测试的目的,我简化了它,但它无论如何都不起作用-:

“Motorcontrol01.cpp”:

//###################################################################################
//类,用于创建不同的移位寄存器条目数据
//###################################################################################
#包含//以便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