BOOL CMonthCalCtrl::SetCurSel(
const LPSYSTEMTIME pDateTime
);typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
解决方案 »
- 请教一个VC界面多线程操作的例子程序
- new class中的class type选项只有Generic Class了,mfc class和form class都消失了
- CFile::Open cannot convert parameter 1 from 'unsigned short *' to 'const char *'
- 判断版本 d:\Program Files\Microsoft Visual Studio 8\Common7
- WM_DEVICECHANGE 问题!
- 打印问题。WIN2k下可以打印,可是在win98下无法打印。
- 一个double类型的数据怎么转为CString?
- 怎样通过红外接口读取手机短消息?提供线索者也有分!!!
- 关于时间函数strftime,错在哪里?
- 高手请帮忙,编译和连接问题
- CSDN只道歉不行啊,不如每人免费送一年的程序员杂志吧,哈哈
- 关于浮点数相等比较的一点疑问
typedef struct _SYSTEMTIME* LPSYSTEMTIME;const LPSYSTEMTIME 不就是 const _SYSTEMTIME*吗?不就是把指针指向的内容声明为常量吗?
CMonthCalCtrl mcc;
// 编译不过 begin
const SYSTEMTIME cst;
mcc.SetCurSel(&cst);
// 编译不过 end
// 编译通过 begin
SYSTEMTIME st;
SYSTEMTIME * const pst = &st;
mcc.SetCurSel(pst);
// 编译通过 end
原因是将typedef当做文本扩展了。声明const LPSYSTEMTIME时,const修饰的是LPSYSTEMTIME的类型,这是一个指针。因此,该声明语句应该是把pDateTime 定义为指向SYSTEMTIME类型对象的const指针。这个定义等价于:
SYSTEMTIME * const pDateTime;
const SYSTEMTIME cst;
(&cst) 是const SYSTEMTIME * 型吗?
bool Test(const SYSTEMTIME *pst)
{
pst = NULL; return true;
}const SYSTEMTIME cst;
Test(&cst);
编译通过。