Próbuję zrozumieć, co to znaczy, kod patrzę maCo robi "typedef void (* coś)()" oznacza
w .h
typedef void (*MCB)();
static MCB m_process;
w .C
MCB Modes::m_process = NULL;
A czasami kiedy robię
m_process();
I uzyskać błąd segmentacji, prawdopodobnie dlatego, że pamięć została zwolniona, jak mogę debugować, gdy zostanie uwolniona?
Mam nadzieję, że moje pytania są jasne.
Hey - mówisz C lub C++ ? Twój plik .C wskazuje C++; Twoje tagi wskazują C. Podejmij decyzję - tutaj jest duża różnica między tymi dwoma językami. –
To jest zdecydowanie C++. '.C' jest powszechnym rozszerzeniem pliku C++, a ponadto' Modes :: m_process' byłby nieważny C. – SingleNegationElimination
Autor wyraźnie określił tag, poprosił o C, a on wielokrotnie go edytował do C. Czy on początkowo mylić niektóre kod z innymi, to kolejna dyskusja. Odpowiedź jest właściwa, odpowiadając na fragment C. – another