Почему моя целочисленная математика с std :: pow дает неправильный ответ?

Рассмотрим следующий фрагмент кода:

#include <iostream>
#include <cmath>

int main() {
    int i = 23;
    int j = 1;
    int base = 10;
    int k = 2;
    i += j * pow(base, k);
    std::cout << i << std::endl;
}

Он выводит «122» вместо «123». Это ошибка в g ++ 4.7.2 (MinGW, Windows XP)?

Ответы на вопрос(5)

Ваш ответ на вопрос