我的C++DDA算法的程序出了错,望各位解决之。

#include<iostream.h>
//#include <math>

void MidpointLine(int x0,int y0,int x1,int y1)
{
int a,b,delta1,delta2,d,x,y;
a=y0-y1;
b=x1-x0;
d=2*a+b;
delta1=2*a;
delta2=2*(a+b);
x=x0;
y=y0;
SetPixel(x,y,RGB(0,255,0));
while(x<x1)
{
if(d<0)
{
x++;
y++;
d+=delta2;
}
else
{
x++;
d+=delta1;
}
SetPixel(x,y,RGB(0,255,0));
}
}
int main()
{
MidpointLine(0,0,5,2);
return 0;

}
D:\Program Files\Microsoft Visual Studio\MyProjects\q1\1.cpp(19) : error C2065: 'SetPixel' : undeclared identifier
D:\Program Files\Microsoft Visual Studio\MyProjects\q1\1.cpp(19) : error C2065: 'RGB' : undeclared identifier

你调用SetPixel是你自己的函数还是打算调用Windows API?

如果调用Windows API,要包含windows.h

另外Windows API SetPixel有四个参数,第一个参数是DC的句柄。后面三个如你这样子。

而且控制台程序也没有DC句柄,要选Win32工程,不过Win32工程的入口不是main而是WinMain。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-02
头文件错误。
你这个好像是MFC工程里的东西。
相似回答