#include <stdlib.h>
#include <windows.h>
#include <stdio.h>
struct My_thread_par
{
int my_argv;
char **my_argc;
};
DWORD WINAPI Msg_ThreadProc(PVOID pParam) 
{
struct My_thread_par *my_par=(struct My_thread_par*)pParam;
printf("%d",my_par->my_par);
return 0;
}
DWORD WINAPI Pro_ThreadProc(PVOID pParam) 
{

struct My_thread_par *my_par=(struct My_thread_par*)pParam;
printf("%d",my_par->my_par);
return 0;
}int main(int argv,char **argc)
{
struct My_thread_par par;
HANDLE m_hmsg,m_hpro;
par.my_argv = argv;
par.my_argc = argc; m_hmsg=CreateThread(NULL,NULL,Msg_ThreadProc,(LPVOID)&par,NULL,NULL);
m_hpro=CreateThread(NULL,NULL,Pro_ThreadProc,(LPVOID)&par,NULL,NULL); while(1);
return 0;
}
错误:
“my_par”: 不是“My_thread_par”的成员;

解决方案 »

  1.   

    这个结构中本来就没有my_par这个成员:struct My_thread_par
    {
    int my_argv;
    char **my_argc;
    };printf("%d",my_par->my_par);//这里当然错。与多线程无关。
      

  2.   

    不是太看懂你想问什么?
    是这个吗?
    printf("%d",my_par->my_par);
                        ________
                       “my_par”: 不是“My_thread_par”的成员;
      

  3.   

    struct My_thread_par
    {
     int my_argv;
     char **my_argc;
    };你没定义my_par  当然不对了