次のコードは、「5」を出力するだけです
#include <iostream>
#include <setjmp.h>
static jmp_buf buf;
float funcB()
{
setjmp(buf);
return 1.6f;
}
int funcA()
{
longjmp(buf,5);
std::cout<<"b";
return 2;
}
int main()
{
funcB();
std::cout<<funcA();
}
しかし、setjmp はどちらの関数でもなく 5 を返すため、これは意味がありません... 心配しないでください。私はこのコードをどこでも使用していません。