gfx.renderFF(message.info("Hello!", "I am console,", "how are you?"));
轮到时
void renderFF( void (*draw_fn)(String &a, String &b, String &c) )
{
uint32_t time;
time = millis() + 10;
do {
u8g2.clearBuffer();
draw_fn();
u8g2.sendBuffer();
} while ( millis() < time );
}
C++11 风格解决方案:
C风格:
您传递一个函数对象并调用它。该对象的参数可以设置在第一级(在调用renderFF之前的main中)、第二级、renderFF函数内部,以及第三级已经在 lambda 调用的代码中。
[arg1]- 我们从主fun(arg2)函数中捕获参数- 我们将参数传递给renderFFinfo(arg1,arg2, "how are you?" )函数- 参数已经在 lambda 代码中