Using the RPI Pico SDK, I have three files. I want to use a callback function and access private members of a class. The callback function is in an SDK and I can not modify it. How do I do this?
/////// test.h
bool main_loop_timer_callback(struct repeating_timer *t);
class MyClass {
private:
    static int count;
    struct repeating_timer main_loop_timer;
public:
    MyClass();
    friend bool main_loop_timer_callback(struct repeating_timer *t);
};
//////// test.cc
#include <iostream>
#include "pico/stdlib.h"
#include "test.h"
using namespace std;
bool main_loop_timer_callback(struct repeating_timer *t) {
    MyClass::count++;
    cout << "callback " << MyClass::count << endl;
    return true;
}
MyClass::MyClass() {
    add_repeating_timer_us(-50000,
                           main_loop_timer_callback,
                           NULL,
                           &main_loop_timer);
    count = 0;
};
/////// test-main.cc
#include "pico/stdlib.h"
#include "test.h"
using namespace std;
int main() {
    MyClass test;
    stdio_init_all();
}
 
    