找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 5396|回复: 1

请教:ACE_Mem_Map

[复制链接]
发表于 2007-12-12 23:58:08 | 显示全部楼层 |阅读模式
我写了一个程序是用内存映射类:ACE_Mem_Map 但提示有问题,请教哪位高手能帮解决:程序如下:
  1. #include "ace/Log_Msg.h"
  2. //#include "ace/SOCK_Dgram_Bcast.h"
  3. //#include "ace/Addr.h"
  4. #include <ace/Mem_Map.h>
  5. static void putline( ACE_TCHAR *s)
  6. {
  7. while(putchar(*s++)!= '\n')
  8. continue;
  9. }
  10. int ACE_TMAIN(int argc, ACE_TCHAR *argv[])
  11. {
  12. ACE_TCHAR *filename = argv[1];
  13. ACE_TCHAR *file_p;
  14. ACE_Mem_Map   mmap(filename);
  15. if(mmap(file_p)!=-1)
  16. {
  17.   size_t size = mmap.size()-1;
  18.   if(file_p[size] =='\0')
  19.    file_p[size] ='\n';
  20.   while(--size >= 0)
  21.    if(file_p[size] =='\n')
  22.    putline(file_p+size+1);
  23.   putline(file_p);
  24.   return 0; }
  25. else
  26.   return 1;
  27. }
复制代码
提示错误为在 if(mmap(file_p)!=-1)中错误为:error C2664: '()' : cannot convert parameter 1 from 'char *' to 'void *& '
        A reference that is not to 'const' cannot be bound to a non-lvalue我应该如何改正才可运行,顺便请教下ACE_Mem_Map   的用法的,谢谢!
 楼主| 发表于 2007-12-12 23:58:15 | 显示全部楼层
这里应该写成mmap( (void *&)file_p );
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-23 15:22 , Processed in 0.015686 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表