c함수에서 클래스 내부 함수를 가져 오려 하는데요......

익명 사용자의 이미지

요지를 말하자면..

signal 함수를 쓸때 입니다..

c문법에서는

signal(SIGUSR1,get_sigusr);

void get_sigusr(int sig)
{
printf("user signal");
}
이처럼 하면 작동하는데요
c++ 에서는

class usr_sig
{ public usr_sig();
void get_sigusr(int sig);
};

void usr_sig get_sigusr(int sig)
{
printf("user signal");
}

usr_sig usr_sig()
{
signal(SIGUSR1,get_sigusr(int sig);
}

이처럼 하면.... 함수 포인터 타입이 안맞다고 하면서 안되네요..
signal이 c 함수 라서 그런가요....
일반 함수에 포인터는 되지만... c++메서드에 포인터는 안먹는거 같은
데...
가능하도록 하려면 ... 어떻게 해야 할까요?
이것때문에 한참 고생중입니다....

답변 기다리겠습니다..
그럼

익명 사용자의 이미지


주병국 wrote..
요지를 말하자면..

signal 함수를 쓸때 입니다..

c문법에서는

signal(SIGUSR1,get_sigusr);

void get_sigusr(int sig)
{
printf("user signal");
}
이처럼 하면 작동하는데요
c++ 에서는

class usr_sig
{
public
usr_sig();
void get_sigusr(int sig);
};

void usr_sigget_sigusr(int sig)
{
printf("user signal");
}

usr_sigusr_sig()
{
signal(SIGUSR1, &user_sigget_sigusr);
}

이처럼 하면.... 함수 포인터 타입이 안맞다고 하면서 안되네요..
signal이 c 함수 라서 그런가요....
일반 함수에 포인터는 되지만... c++메서드에 포인터는 안먹는거 같은
데...
가능하도록 하려면 ... 어떻게 해야 할까요?
이것때문에 한참 고생중입니다....

답변 기다리겠습니다..
그럼