У меня определена эта структура:
typedef struct Socket_s
{
...
SocketConnectFunc Connect;
...
}Socket;
где SocketConnectFunc определяется как:
typedef Socket_Return (*SocketConnectFunc) (void * self);
При инициализации структуры Socket я называю это:
void Init(Socket * sock)
{
sock = (Socket *)malloc(sizof(Socket));
if(sock)
sock->Connect = SocketConnect;
}
Но затем, когда я пытаюсь вызвать sock->Connect()
, я получаю ошибку сегментации, и функция даже не вводится. Есть ли проблема в способе, которым я назначил sock->Connect
?
NB. Socket_Return - это перечисление (typedef enum {SUCCESS,FAIL} Socket_Return
)