ошибка 2296: «^»: недопустимо, левый операнд имеет тип «double»

Часть моего кода:

double function (double x)
{
f = x^5-3*x^4+3*x^3-2*x^2-5;
return f;
}

проблема: Я получаю следующие ошибки для этой части кода:

  • ошибка C2296: «^»: недопустимо, левый операнд имеет тип «double»
  • ошибка C2297: «^»: недопустимый, правый операнд имеет тип «double»

Моя цель: Я пишу код, чтобы найти корни следующего многочлена в C ++, Visual Studio 2012:
введите описание изображения здесь

Я не уверен, как решить эту ошибку, так как я изучаю C ++, и я впервые столкнулся с этой ошибкой. Есть только две вышеупомянутые ошибки; Остальная часть моего кода без ошибок. Ваша помощь будет высоко ценится. Спасибо!

1

Решение

^ Оператор в C / C ++ не является оператором экспоненты (по умолчанию) — это побитовый оператор XOR и не работает с двойными числами.

Вместо этого используйте pow функция.

5

Другие решения


По вопросам рекламы [email protected]