关于DateTimeToSystemTime()函数的使用。

kitten811 2006-02-28 12:34:27
函数原形为:
void DateTimeToSystemTime(const TDateTime DateTime,_SYSTEMTIME &SystemTime);

函数的第二个参数为_SYSTEMTIME的引用,但是我在写程序的时候误传了一个_SYSTEMTIME的实例竟然也好用?不知道为什么!

如:

TDateTime MyDateTime;
SYSTEMTIME MySystemTime;

DateTimeToSystemTime(MyDateTime,MySystemTime);

是不是函数在传参的过程中,自动生成了一个MySystemTime的引用,然后再传递给函数呢?

请教!感激!
...全文
287 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kitten811 2006-03-01
  • 打赏
  • 举报
回复
To lurel(城市陌生人) :

没太看懂你的意思,难不成你说MySystemTime是指针?那么我也就可以MySystemTime->wYear调用成员了吗?好象8是嘛.我依然要用MySystemTime.wYear调用成员的.

To alloutoflove(andrew) :

引用应该可以理解成别名,好象跟指针还8是一会事.偶回去再写个函数测试一下,看看是不是可以自动转换.
lurel 2006-02-28
  • 打赏
  • 举报
回复
MySystemTime本身就是结构的首地址

你的传递方式是正确的,请参看的定义:
typedef struct _SYSTEMTIME { // st
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME;
alloutoflove 2006-02-28
  • 打赏
  • 举报
回复
这个是标准C++问题, 引用类型的参数在调用时就和值传递差不多.但编译器编译时会转换成指针...

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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