Ich versuche zu verstehen, was das bedeutet, ich den Code suchen bin an hatWas bedeutet "typedef void (* Etwas)()" bedeuten
in .h
typedef void (*MCB)();
static MCB m_process;
in .C
MCB Modes::m_process = NULL;
Und manchmal, wenn ich
m_process();
ich tun Fehler bei Segmentierung erhalten, wahrscheinlich weil der Speicher freigegeben wurde. Wie kann ich debuggen, wenn er freigegeben wird?
Ich hoffe meine Fragen sind klar.
Hey - reden Sie C oder C++ ? Ihre .C-Datei zeigt C++ an; Ihre Tags zeigen C. Entscheiden Sie sich - hier gibt es einen großen Unterschied zwischen den beiden Sprachen. –
Das ist definitiv C++. '.C' ist eine gebräuchliche C++ Dateierweiterung, und außerdem wäre' Modes :: m_process' ungültig C. – SingleNegationElimination
Der Autor hat das Tag eindeutig angegeben, er hat nach C gefragt, und er hat es mehrfach auf C bearbeitet. Ob er anfänglich einige Code mit anderen verwechselt, ist eine andere Diskussion. Die Antwort ist richtig und beantwortet ein C-Snippet. – another