모두가 싫어하는 것을 알고 있습니다. 내 코드에서, 내가 고려하고 편안함을 이유로 효과적인 솔루션을 제공한다. (즉, 나는 대답을하지 않는다. 나는 당신의 예약을 이해하고 왜 내가 그것을 사용하고 있는지 이해한다. 어쨌든).변수에 레이블의 주소를 저장하고 goto를 사용하여 점프 할 수 있습니까?
지금까지 환상적 이었지만 본질적으로 레이블에 대한 포인터를 저장할 수 있어야하는 기능을 확장하고 싶습니다. 그런 다음 나중에 그 포인터로 이동하십시오.
이 코드가 작동하면 필요한 기능 유형을 나타냅니다. 그러나 작동하지 않으며 30 분의 인터넷 검색으로 아무 것도 공개하지 않았습니다. 누구든지 아이디어가 있습니까?
int main (void)
{
int i=1;
void* the_label_pointer;
the_label:
the_label_pointer = &the_label;
if(i--)
goto *the_label_pointer;
return 0;
}
당신은 설명 할 수 있습니까? –
이 게시물에서 Remo.D의 대답을 기반으로하는 유한 상태 시스템을 구현하고 있습니다. http://stackoverflow.com/questions/132241/ 내 버전은 이보다 상당히 복잡하게 진화했지만 이것이 기본입니다. 구조. 지금까지는 효과적 이었지만 상태 전환이나 콜백 또는 무언가를 통해 설정된 일부 변수를 통해 호출 상태와 현재 상태에 액세스 할 수있는 상황을 상태에 사용할 수있게하려고합니다. –
중복의 http://stackoverflow.com/questions/938518/c-c-goto – qrdl