0
    FILE *LCD_stdout = new FILE();
    int (*ptr)(char, FILE *) = ROBOT::__LCD_putchar;
    fdev_setup_stream(LCD_stdout, ptr, NULL, _FDEV_SETUP_WRITE );
    stdout = LCD_stdout;

エラーが発生します:

In member function 'SUBSYS_OPENSTAT ROBOT::LCD_open()':
LCD.cpp:108: error: argument of type 'int (ROBOT::)(char, __file*)' does not match 'int (*)(char, __file*)'

私はスタックオーバーフローなどを通じて多くのソリューションを見てきました。.* 解決しないので、ポインターのポインターを割り当ててみましたが、誤解を解かずに解決できない可能性が高いと感じています。

4

2 に答える 2