+ -
当前位置:首页 → 问答吧 → g++编译出了一个问题

g++编译出了一个问题

时间:2010-08-21

来源:互联网

  1.     shmid = newshm(89,52428800);

  2.     char* argv_=argv[1];//这里是20行
  3.     if(argv[2])
  4.     {
  5.             strcpy(EXECUTION_PATH,argv[2]);
  6.     }
复制代码
这是一个程序片段

g++ -c server.cpp -I.
用这个编译 出现
server.cpp:1:20: 警告:#include 指示的末尾有多余的标识符
server.cpp:3:24: 警告:#include 指示的末尾有多余的标识符
server.cpp:4:26: 警告:#include 指示的末尾有多余的标识符
server.cpp:5:35: 警告:#include 指示的末尾有多余的标识符

这些错误 莫名其妙,以前用gcc可以编译通的,现在我把程序全部改成c++的

作者: jd808   发布时间: 2010-08-21

1:20  是第1行,第20个字符啊...

作者: gtkmm   发布时间: 2010-08-21

本帖最后由 jd808 于 2010-08-21 18:48 编辑

哦 原来这样啊  呵呵
control con_;

if(pthread_create(&tid,&attr,(void *)con_.func,arg))//这行出错 提示 invalid use of member (did you forget the ‘&’ ?)

{
         perror("error pthread_create2");
}

if(pthread_create(&tid,&attr,(void *)socket_,arg))//这里也错了 提示在下面
{
                  perror("error socket_");
}

server.cpp:374: 错误:从类型 ‘void*’ 到类型 ‘void* (*)(void*)’ 的转换无效
server.cpp:374: 错误:  初始化实参 3,属于 ‘int pthread_create(pthread_t*, const pthread_attr_t*, void* (*)(void*), void*)’

作者: jd808   发布时间: 2010-08-21