表达式必须具有 class 类型错误 153
Expression must have a class type Error 153
此代码用于 mbed 上的 7 段显示,我收到错误
错误:表达式必须在 "main.cpp" 中输入 class,行:44,列:6
这是seg_7.write(livewrite);
那一行
我尝试了不同的语法,这似乎是正确的解决方案,但它不起作用?另外,当我更改写入 seg_7.write(livewrite) 时;对于其他任何事情,它都会给出同样的错误,让我想到它的语法。
--------图书馆-------------
class ShiftReg {
public :
ShiftReg();
~ShiftReg();
void write(int data);
private :
DigitalOut *clkout;
DigitalOut *dataout;
DigitalOut *latchout;
};
ShiftReg seg_7();
void refresh()
{
char livewrite = hex_nums[lives];
seg_7.write(livewrite);
lcd.clear();
drawsprite(hx,hy,HeroX,HeroY,hero);
lcd.refresh();
}
如您所言:
ShiftReg seg_7();
seg_7
是不带参数并返回 ShiftReg
的函数的原型,而不是 ShiftReg
类型的对象。不需要括号,只需:
ShiftReg seg_7;
将解决问题。
此代码用于 mbed 上的 7 段显示,我收到错误
错误:表达式必须在 "main.cpp" 中输入 class,行:44,列:6
这是seg_7.write(livewrite);
那一行我尝试了不同的语法,这似乎是正确的解决方案,但它不起作用?另外,当我更改写入 seg_7.write(livewrite) 时;对于其他任何事情,它都会给出同样的错误,让我想到它的语法。
--------图书馆-------------
class ShiftReg {
public :
ShiftReg();
~ShiftReg();
void write(int data);
private :
DigitalOut *clkout;
DigitalOut *dataout;
DigitalOut *latchout;
};
ShiftReg seg_7();
void refresh()
{
char livewrite = hex_nums[lives];
seg_7.write(livewrite);
lcd.clear();
drawsprite(hx,hy,HeroX,HeroY,hero);
lcd.refresh();
}
如您所言:
ShiftReg seg_7();
seg_7
是不带参数并返回 ShiftReg
的函数的原型,而不是 ShiftReg
类型的对象。不需要括号,只需:
ShiftReg seg_7;
将解决问题。