0

UNIX の C はsignal()、いくつかのアクションの後に何らかの関数を呼び出さなければならないことを知っています。Windowsで必要です。私は、それがここから存在することを発見しました。しかし、私はそれを正しく使用する方法を理解していません。

UNIXのように試しました:

signal(SIGINT, signalFunction);    //attach function to signal

void CRegBackupWiz::signalFunction(int sigNum)    //function
{
    m_Parent->SetWizard (swContinueFix);
}

コードの何が問題なのかわかりません。アドバイスありがとうございます。

4

2 に答える 2

1

さて、関数ポインターの使用方法、特にメンバー関数へのポインターの使用方法を確認する必要があります: http://www.parashift.com/c++-faq/pointers-to-members.html

一般に、関数へのポインターをコールバック メカニズムとして使用している場合は、最上位のフリー関数 (非メンバー) をラッパーとして使用する必要があります。ここを参照してください: http://www.parashift.com/c++-faq/memfnptr-vs-fnptr.html

于 2013-06-27T12:25:25.593 に答える
0

このコードは実際には Unix でも機能しません。

メンバーへのポインターは、通常のポインターとは異なります。フリー関数または静的メンバー関数のいずれかを使用する必要があります。

于 2013-06-27T12:24:02.580 に答える