Ошибка: ожидаемое первичное выражение до токена '/' - PullRequest
0 голосов
/ 31 мая 2018

У меня проблема с этим:

"expected primary-expression before ‘/’ token"

Помогите мне пожалуйста Спасибо

ошибка отображается на: angle = i * 2.0f * PI / numSegments;

Вот мой код:

void display() {
    glClear(GL_COLOR_BUFFER_BIT);  // Clear colour buffer
    glMatrixMode(GL_MODELVIEW);     // To operateon the model-view matrix
    glLoadIdentity();               // Reset model-view matrix

    glTranslatef(ballX, ballY, 0.0f);   //translate to (xPos, yPos)
    // use triangular segments to form a circle
    glBegin(GL_TRIANGLE_FAN);
    glColor3f(0.0f, 0.0f, 1.0f);    // Biru
    glVertex2f(0.0f, 0.0f);         // center of circle
    int numSegments = 100;
    GLfloat angle;
    for (int i = 0; i <= numSegments; i++) {    // last vertex same as first vertex
        angle = i * 2.0f * PI / numSegments;
        glVertex2f(cos(angle) * ballRadius, sin(angle) * ballRadius);
    }
    glEnd();

    glutSwapBuffers(); // Swap front and back buffers (of double buffered mode)

    // animation control - compute the location for the next refresh
    ballX += xSpeed;
    ballY += ySpeed;
    //Check if the ball exceeds the edges
    if (ballX > ballXMax) {
        ballX = ballXMax;
        xSpeed = -xSpeed;
    }
    else if(ballX < ballXMin) {
        ballX = ballXMin;
        xSpeed = -xSpeed;
    }
    if (ballY > ballYMax) {
        ballY = ballYMax;
        ySpeed = -ySpeed;
    }
    else if (ballY < ballYMin) {
        ballY = ballYMin;
        ySpeed = -ySpeed;
    }
}

1 Ответ

0 голосов
/ 31 мая 2018

К сожалению, ни стандарты C, ни стандарты C ++ не определяют значение для pi, и полученная вами ошибка компилятора полностью соответствует тому, что PI не определено.

Если вы не используете Boostс C ++ проще всего определить себя с помощью очень большого числа десятичных знаков, чтобы защитить себя от будущих изменений точности типов.В POSIX вы можете использовать M_PI, но тогда ваш код не является строго переносимым.

...