C 関数の戻り値に問題があります。
このように関数「送信」を呼び出すメイン関数があります。
int go_On;
go_On = send(VOTE_REQUEST, 1);
「送信」機能は次のように構成されます。
int send(int msg, int flag) {
// inizialization of some parameters;
if (msg == VOTE_REQUEST) {
// Do some operations...
result = send(VOTE_COMMIT, 1);
}
else if (msg == VOTE_COMMIT) {
// Do some other operations...
return 10;
}
}
ここで、VOTE_REQUEST と VOTE_COMMIT は、ファイルの先頭で宣言されている定数です。
問題は、戻り値 go_On が 10 ではなく 1 になることです。この問題は、自分自身の中で「send」関数を呼び出すことによって発生すると思います。実際、私が置くならば
return 10;
行の前に
result = send(VOTE_COMMIT, 1);
go_On は正しい値 10 を想定しています。それ自体の内部での「send」関数の呼び出しが問題の原因ですか? 戻り値が10になるようにするにはどうすればよいでしょうか?
私を助けてくれるすべての人に感謝します。