阅读:5212回复:8
这种提示如何处理:error C2275: 'PVOID' : illegal use of this type as an expression
一个驱动的项目中,
编译出现如下提示: 1>1>main.c(49) : error C2275: 'PVOID' : illegal use of this type as an expression 1>1>main.c(49) : error C2146: syntax error : missing ';' before identifier 'pBuf' 1>1>main.c(49) : error C2144: syntax error : '<Unknown>' should be preceded by '<Unknown>' 1>1>main.c(49) : error C2144: syntax error : '<Unknown>' should be preceded by '<Unknown>' 1>1>main.c(49) : error C2143: syntax error : missing ';' before 'identifier' 1>1>main.c(49) : error C2065: 'pBuf' : undeclared identifier 1>1>main.c(50) : error C2275: 'ULONG' : illegal use of this type as an expression 1>1>main.c(50) : error C2146: syntax error : missing ';' before identifier 'uAddr' 1>1>main.c(50) : error C2144: syntax error : '<Unknown>' should be preceded by '<Unknown>' 1>1>main.c(50) : error C2144: syntax error : '<Unknown>' should be preceded by '<Unknown>' 1>1>main.c(50) : error C2143: syntax error : missing ';' before 'identifier' 1>1>main.c(50) : error C2065: 'uAddr' : undeclared identifier 1>1>main.c(193) : error C4047: '=' : 'int' differs in levels of indirection from 'UCHAR *' 1>1>main.c(194) : error C4047: '==' : 'void *' differs in levels of indirection from 'int' 1>1>main.c(196) : error C2109: subscript requires array or pointer type 1>1>main.c(196) : error C4022: 'memmove' : pointer mismatch for actual parameter 2 1>1>main.c(196) : error C2198: 'memmove' : too few arguments for call through pointer-to-function 请问大侠如何处理?谢谢! |
|
沙发#
发布于:2010-02-21 10:57
其实我就添加了这两句:
PVOID pBuf; ULONG uAddr; |
|
板凳#
发布于:2010-02-21 10:58
这个是宏,不是内置类型,你需要先定义或者包含有定义的头
|
|
|
地板#
发布于:2010-02-21 11:02
解决了,呵呵
case CTL_CODE_LSR_SET_SHARE_BUF: { UCHAR * pBuf; ULONG uAddr; pBuf = (UCHAR *)InputBuffer; if ( NULL == pBuf ) break; memmove( &uAddr , &pBuf[4] , 4 ); g_szShareBuf = (char *)MmMapIoSpace(MmGetPhysicalAddress((void*)uAddr),256,0); } 原来是这样写的: UCHAR * pBuf; ULONG uAddr; ........ case CTL_CODE_LSR_SET_SHARE_BUF: { pBuf = (UCHAR *)InputBuffer; if ( NULL == pBuf ) break; memmove( &uAddr , &pBuf[4] , 4 ); g_szShareBuf = (char *)MmMapIoSpace(MmGetPhysicalAddress((void*)uAddr),256,0); } 按道理说,下面的写法应该没有问题呀! |
|
地下室#
发布于:2010-02-21 11:04
我已经包含了所需的头文件了!
|
|
5楼#
发布于:2010-02-21 11:04
#include <stdio.h>
#include <stdarg.h> #include <ntimage.h> #include <ntiologc.h> |
|
6楼#
发布于:2010-02-21 19:58
C语言中变量定义作用域的问题,你的第一次定义的变量:
UCHAR * pBuf; ULONG uAddr; 在后来的使用中不可见,所以出现错误 |
|
7楼#
发布于:2010-04-05 21:35
楼主辛苦了给你顶上去。。。。。。。顶~~~~~~~~~~~~~~~~~~~~
九鼎记 快眼看书 斗破苍穹 斗破苍穹最新章节列表 九鼎记全文阅读 酒神阴阳冕 阴阳冕 斗破苍穹 君子堂 阅书网 清新网 酒神阴阳冕 君子堂 阳神 重生1998 很纯很暧昧 狩魔手记 九鼎记 老婆爱上我 斗罗大陆 七界传说猎国 长生界 官路风流 紫府仙缘 官气 斗破苍穹 凡人修仙传流氓天尊 寂灭天骄 凌天传说 异界全职业大师 网游之纵横天下 流氓老师 仕途风流 官场新贵 同居万岁 重生之衙内 天下无双 盗墓笔记 七界传说 御医 大魔王 三国之宅行天下 超级成长 疯狂的硬盘 邪龙道 比蒙传奇 仙逆 冠军传奇 十方天士 许仙志 斗铠 宋时归 仙葫 武神 冠军传奇 百炼成仙 间客 陈二狗的妖孽人生 卡徒 近身保镖 异界九死神功 盘龙全文阅读 坏蛋是怎样炼成的2 鬼吹灯 重生之官道 星辰变 神墓全文阅读 极品公子 步步生莲 英雄无敌之十二翼天使 混世小农民 冒牌大英雄 重生之官路商途 从零开始 玄幻魔法 历史军事 网游动漫 科幻小说 |
|
禁止发言
|
8楼#
发布于:2010-05-04 10:42
用户被禁言,该主题自动屏蔽! |