不好意思,我刚开始学,出现错误如下:
dingshiqi.cpp(13) : error C2059: syntax error : ','
目的:每个五百毫秒输出一个数,程序如下: 请大家指点迷津,谢谢
#define ID_CLOCK
#include <windows.h>
#include <iostream.h>
int i=0;
void OnTimer(UINT nIDEvent)
{
cout<<i<<endl;
i++;
OnTimer(nIDEvent);
}
void start()
{
SetTimer(NULL, ID_CLOCK, 500, OnTimer());
}
void main()
{
start();
}
dingshiqi.cpp(13) : error C2059: syntax error : ','
目的:每个五百毫秒输出一个数,程序如下: 请大家指点迷津,谢谢
#define ID_CLOCK
#include <windows.h>
#include <iostream.h>
int i=0;
void OnTimer(UINT nIDEvent)
{
cout<<i<<endl;
i++;
OnTimer(nIDEvent);
}
void start()
{
SetTimer(NULL, ID_CLOCK, 500, OnTimer());
}
void main()
{
start();
}
不是吧
#include <windows.h>
#include <iostream.h>
.............
可以这样
#define ID_CLOCK 1
dingshiqi.cpp(13) : error C2660: 'OnTimer' : function does not take 0 parameters
可是OnTimer明明有参数的呀
void OnTimer(UINT nIDEvent)和
SetTimer(NULL, ID_CLOCK, 500, OnTimer());
这两句时不是出了问题呢
{
for ( ) {
cout <<
sleep(500);
}
}
最后一个参数是函数地址
不能带括号的
另外的你应该把OnTimer定义成为回调函数
call back
#define ID_CLOCK 1
#include <windows.h>
#include <iostream.h>HWND hWnd ;
int i=0;
void CALLBACK TimerProc(HWND hwnd, UINT uMsg,
UINT idEvent, DWORD dwTime )
{
cout<<i<<endl;
i++;
}
void start()
{
SetTimer(hWnd , ID_CLOCK, 500, TimerProc);
}
void main()
{
start();
}