谁能解释我为什么在编译过程中会存在这些错误?

class ILI9341_due;

class LCD_ILI9341
{
private:
    ILI9341_due *tLCD;
    ILI9341_due &LCD = *tLCD;
public:
    LCD_ILI9341();
    ~LCD_ILI9341();

    void initDisplay();
    void drawMenu();


};


错误是:

'LCD_ILI9341::tLCD' cannot appear in a constant-expression
`*' cannot appear in a constant-expression
ISO C++ forbids initialization of member 'LCD'
making 'LCD' static


谢谢你的帮助 :)

最佳答案

您的编译器无法使用类内初始化来初始化ILI9341_due &LCD。而是在构造函数的初始化列表中对其进行初始化。

10-06 09:40