none
结构体的一个问题 RRS feed

  • 问题

  • 我用多线程做网络程序,  用CreateThread开了一线程,
    在头文件中定认了一个结构体,用结构体中加入了几个数组

    struct SOCK
    {
       SOCKET sockArray[mux];
    }

    在函数中定义,并赋值:
    SOCK *psock = new SOCK;
    psock->sockArray[mux] = socket[mm];

    线程函数定义为static, 在线程函数中调用结构体中的数组:
    DWORD WINAPI C**Dlg::EventProc(LPVOID psock)
    {
       SOCKET sock[mux] = ((SOCK*)psock)->sockArray[mux];
    }

    但是编译提示为:error C2440: 'initializing' : cannot convert from 'SOCKET' to 'SOCKET [64]'
    问:哪里错了?我用多线程做网络程序,  用CreateThread开了一线程,
    在头文件中定认了一个结构体,用结构体中加入了几个数组

    struct SOCK
    {
       SOCKET sockArray[mux];
    }

    在函数中定义,并赋值:
    SOCK *psock = new SOCK;
    psock->sockArray[mux] = socket[mm];

    线程函数定义为static, 在线程函数中调用结构体中的数组:
    DWORD WINAPI C**Dlg::EventProc(LPVOID psock)
    {
       SOCKET sock[mux] = ((SOCK*)psock)->sockArray[mux];
    }

    但是编译提示为:error C2440: 'initializing' : cannot convert from 'SOCKET' to 'SOCKET [64]'
    问:哪里错了?


    xiao
    2010年11月13日 8:25

答案