'sqrt' : undeclared identifier

void CEllipseView::OnDraw(CDC* pDC)
{
CEllipseDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here

CDC* pDC=GetDC();
int a=200,b=100,xc=300,yc=200,c=0;
int x,y;
double d1,d2;
x=0;y=b;
d1=b*b+a*a*(-b+0.25);
pDC->SetPixel(x+300,y+200,c);
pDC->SetPixel(-x+300,y+200,c);
pDC->SetPixel(-x+300,-y+200,c);
pDC->SetPixel(x+300,-y+200,c);
while(b*b*(x+1)+a*a*(y-0.5))
{
if(d1<0)
{
d1+=b*b*(2*x+3);
x++;
}
else
{
d1+=b*b*(2*x+3)+a*a*(-2*y+2);
x++;
y--;
}
pDC->SetPixel(x+xc,y+yc,c);
pDC->SetPixel(-x+xc,y+yc,c);
pDC->SetPixel(-x+xc,-y+yc,c);
pDC->SetPixel(x+xc,-y+yc,c);
}
d2=sqrt(b*(x+0.5))+a*(y-1)-a*b;
while(y>0)
{
if(d2<0)
{
d2+=b*b*(2*x+2)+a*a*(-2*y+3);
x++;y--;
}
else
{
d2+=a*a*(-2*y+3);
y--;
}
pDC->SetPixel(x+xc,y+yc,c);
pDC->SetPixel(-x+xc,y+yc,c);
pDC->SetPixel(-x+xc,-y+yc,c);
pDC->SetPixel(x+xc,-y+yc,c);
}

}

ellipseView.cpp
D:\Program Files\Microsoft Visual Studio\MyProjects\ellipse\ellipseView.cpp(62) : error C2082: redefinition of formal parameter 'pDC'
D:\Program Files\Microsoft Visual Studio\MyProjects\ellipse\ellipseView.cpp(90) : error C2065: 'sqrt' : undeclared identifier
Error executing cl.exe.

ellipseView.obj - 2 error(s), 0 warning(s)

第一个错误是因为你的函数传进来的是一个叫pDC的变量,然后你又在函数里定义了CDC* pDC=GetDC(); 一个叫做pDC的变量!所以出错了,说你重复定义了!
第二个错误上面的已经回答了!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2006-11-01
# include<math.h>
相似回答