D:\QT\InverterCAN(INV_BOOST)\CAN\mainwindow.cpp:435: error: 'class Ui::MainWindow' has no member named 'boostSLednum1i'; did you mean 'boostSLed01'? #define WRITE_(X,Y) ui->boostSLed##X##Y
时间: 2024-04-10 14:34:36 浏览: 61
mainwindow.cpp
根据你提供的错误信息,看起来是在`mainwindow.cpp`文件的第435行使用了一个名为`boostSLednum1i`的成员变量,但是编译器提示类`Ui::MainWindow`没有名为`boostSLednum1i`的成员,它是否意味着你要使用`boostSLed01`。
根据你提供的宏定义`#define WRITE_(X,Y) ui->boostSLed##X##Y`,它将参数`X`和`Y`与字符串`boostSLed`连接起来。从错误信息来看,可能是在宏展开时参数`X`的值为`num1i`,而不是你期望的`01`。
请确保在使用宏之前,确保你的参数值正确,并且确保在当前作用域中可以访问到相应的成员变量。
如果你想要使用宏来访问名为`boostSLed01`的成员变量,你可以按照以下方式使用它:
```cpp
int num = 1;
int i = 0;
WRITE_(num, i);
```
在这个示例中,我们定义了两个整数变量`num`和`i`,并将它们作为参数传递给宏`WRITE_()`。宏展开后会将参数与字符串连接起来,作为成员变量的名称。
希望这可以帮助到你!
阅读全文