2017-03-07 127 views
0

该代码用于在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(); 

} 
+0

'ShiftReg seg_7(); '是一个函数声明,而不是一个变量声明。 – Barmar

回答

0

正如你已经宣布它:

ShiftReg seg_7();  

seg_7是不带参数并返回ShiftReg而不是ShiftReg类型的对象的函数的原型。有没有必要的括号,只是:

ShiftReg seg_7; 

将解决问题。

+0

这个问题肯定会有数十万个重复。 – Barmar

+0

哦ffs,这是一个愚蠢的错误XD Thankyou :) –

相关问题