0
내가 할 유일한/최선의 방법은 구조체에 변수를 저장하고 구조체를 전달하는 것입니다,하지만 그것은 gpointer로 바뀌었고 구조체로 되돌릴 수없는 것 같습니다 자료.gtk 신호 처리기에 둘 이상의 변수를 전달하는 방법은 무엇입니까?
다른 방법이 있으면 사용하고 싶습니다.
내가 할 유일한/최선의 방법은 구조체에 변수를 저장하고 구조체를 전달하는 것입니다,하지만 그것은 gpointer로 바뀌었고 구조체로 되돌릴 수없는 것 같습니다 자료.gtk 신호 처리기에 둘 이상의 변수를 전달하는 방법은 무엇입니까?
다른 방법이 있으면 사용하고 싶습니다.
구조체를 신호 처리기의 적절한 유형으로 다시 캐스트합니다.
MyVariables *vars = (MyVariables *)user_data;
PS. 오, 그래, 구조체를 할당하는 것을 잊지 마라. 지역 변수를 전달하면 신호 처리기가 호출 될 때까지 사라집니다.
'오류 :'MyVariables '가 선언되지 않았 음 (이 함수에서 처음 사용됨)' –
'MyVariables'는 이름이 아니며 구조체의 유형 이름입니다. 당신은 _did_'typedef struct {GtkWidget * whatever; } MyVariables; ', 맞습니까? – ptomato
'typedef'가 없으므로 수정해야합니다. –