0
我這個小碼正確的錯誤代碼跟蹤球
GLUquadricObj *q = gluNewQuadric()
....
.....
glTranslatef(s->c.x, s->c.y, s->c.z);
gluSphere(q, s->r, SPHERE_DIVS, SPHERE_DIVS);
,我想與我做了一個函數來替換此glusphere。它採用的參數爲3D中心,鐳和它的痕跡球體
int gp21_gluSphere(GLfloat x, GLfloat y, GLfloat z, GLdouble radius);
但我的問題是,當我與
gp21_gluSphere (q.x, q.y, q.z, s->r);
更換功能
gluSphere(q, s->r, SPHERE_DIVS, SPHERE_DIVS);
我得到這些錯誤
error C2228: left of '.x' must have class/struct/union type
error C2228: left of '.y' must have class/struct/union type
error C2228: left of '.z' must have class/struct/union type
我該怎麼辦?
我想,但我有這些錯誤錯誤C2027:使用未定義的類型 'GLUquadric' 的C:.....:見 'GLUquadric' C聲明:\ ......錯誤C2227:' - > x'左邊必須指向類/結構體/聯合體 錯誤C2027:使用未定義類型'GLUquadric' :請參閱'GLUquadric'聲明 錯誤C2227: - > y'必須指向class/struct/union 錯誤C2027:使用未定義的類型'GLUquadric' C:\ ....:參見'GLUquadric'的聲明 C:..... error C2227:' - > z'的左邊必須指向class/struct/union – user3084606
您是否嘗試過實際查看'q'的定義?爲什麼你沒有在你的問題中發佈完整的確切定義? – abelenky
是的,我試圖找到定義,但我沒有成功找到解決方案。我沒有發佈q的定義,因爲它是一個使用q的預定義函數:void gluSphere(GLUquadric * quad,GLdouble radius,GLint slices,GLint stacks); 指定quadrics對象(使用 gluNewQuadric()創建)。指定球體的半徑。 指定圍繞z軸 (類似於經度線)的細分數。指定沿z軸的 細分的數量(類似於緯度線)。 – user3084606