global 发表于 2008-11-11 20:22:30

求救,编译不过。。。谢谢【恢复】

代码:

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <pthread.h>



void thread1(void)

{        int i=0;



        for(i=0;i<6;i++){

                printf("thread1\n");

                if(i==2)

                        pthread_exit(0);

                sleep(1);

        }

}





void thread2(void)

{        int i;

        for(i=0;i<3;i++){

                pthread_exit(0);

        }                

}



int main(void)

{        pthread_t id1,id2;

        int i,ret;



        ret=pthread_create(&id1,NULL, void *(*thread1),NULL);////*************line29

        if(ret!=0){

                printf("vreate error\n");

                exit(1);

        }                

        ret =pthread_create(&id2,NULL, (void*) (*thread2),NULL);////**********line34

        if(ret!=0){

                printf("create pthread2 error\n");

                exit(1);

        }

        pthread_join(id1,NULL);

        pthread_join(id2,NULL);

        exit(0);

}





编译错误提示:

# gcc pthread.cpp -o pthread

pthread.cpp: In function ~int main()':

pthread.cpp:29: parse error before ~*' token

pthread.cpp:34: invalid conversion from ~void*' to ~void*(*)(void*)'

# 





很郁闷,搞了一个下午还没搞定,只好sos,,,

谢谢大侠,,,,,



如果把line29和34屏蔽了就不会报错。

编译使用的命令是:gcc pthread.cpp -o pthread









本贴被 global 编辑过,最后修改时间:2008-11-12,09:56:31.

Gorgon_Meducer 发表于 2008-11-11 23:39:01

pthread.cpp:29: parse error before ~*' token 

这里的29行是哪一行代码阿?

shark 发表于 2008-11-11 21:32:19

你的包含头文件我没有,环境也不知道,不能帮你了。
页: [1]
查看完整版本: 求救,编译不过。。。谢谢【恢复】