表达式必须有一个类类型错误153
问题描述:
该代码用于在mbed一个7段显示器,我正的误差表达式必须有一个类类型错误153
错误:表达式必须具有类类型在“main.cpp中”,行: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;
将解决问题。
+0
这个问题肯定会有数十万个重复。 – Barmar
+0
哦ffs,这是一个愚蠢的错误XD Thankyou :) –
'ShiftReg seg_7(); '是一个函数声明,而不是一个变量声明。 – Barmar