Delphi 中 & 符号有什么作用

bingying19872008 2010-11-28 06:22:58
BOOL WINAPI EnumProcesses(
DWORD* pProcessIds,
DWORD cb,
DWORD* pBytesReturned
);

delphi 中
这样
EnumProcesses(aProcesses,Sizeof(aProcesses),&DWcbNeeded) 编译器没报错(因为是直接复制的,&在C++中是取内存地址)
后查看delphi中EnumProcesses声明为
EnumProcesses(lpidProcess: LPDWORD; cb: DWORD; var cbNeeded: DWORD)

于是改成了EnumProcesses(aProcesses,Sizeof(aProcesses),DWcbNeeded)
也能正常运行...我在网上搜了下,没发现 Delphi 中 & 符号的作用,所以来请教一下
...全文
325 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
Reserved words always take precedence over user-defined identifiers. For example,

var
Ch: Char;
...
asm
MOV CH, 1
end;

loads 1 into the CH register, not into the Ch variable. To access a user-defined symbol with the same name as a reserved word, you must use the ampersand (&) override operator:

MOV &Ch, 1

It is best to avoid user-defined identifiers with the same names as built-in assembler reserved words.

看帮助!明白了?
bingying19872008 2010-11-29
  • 打赏
  • 举报
回复
EnumProcesses(aProcesses,Sizeof(aProcesses),&DWcbNeeded)
但是在代码中&符号肯定不是快捷键吧。 你也可以试试在代码中传入&符号。编译器不报错的
bingying19872008 2010-11-29
  • 打赏
  • 举报
回复
ok 结贴!
milunhailili 2010-11-28
  • 打赏
  • 举报
回复
快捷键啊.
bingying19872008 2010-11-28
  • 打赏
  • 举报
回复
是的 delphi 取地址是@. 但是用 & 编译器没报错。
既然编译器没报错,所以我很想知道& 到底是干嘛的,delphi 应该没这个符号
bdmh 2010-11-28
  • 打赏
  • 举报
回复
delphi取地址是 @

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧