Предупреждение C6031 Возвращаемое значение пропущено: "exp"

Жалуется на log и exp
Возвращаемое значение пропущено: "exp" Возвращаемое значение пропущено: "log"

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    setlocale(LC_ALL, "Ukrainian");
    double x;
    float G;
    cout << "Введіть x: ";
    cin >> x;
    G = 8,5*exp(-2*x)+((5*(x+4)+log(fabs((x-0,2))))/(x + 2)*(x-0,6));
    cout << "Відповідь: " << G;
    return 0;
}

Ответы (1 шт):

Автор решения: Mikhailo

Во-первых, ваш код компилируется без проблем. Об ошибке говорит анализатор кода, который, кстати, может и ошибаться. Это не компилятор.

А вот компилятор все скомпилирует. Только даст не то, что вы хотите. Потому что запятая получается не десятичной запятой (в С++ эту роль выполняет точка), а оператором запятая.

В результате ваше выражение

G = 8,5*exp(-2*x)+((5*(x+4)+log(fabs((x-0,2))))/(x + 2)*(x-0,6));

компилятор рассматривает как два:

G = 8;
5*exp(-2*x)+((5*(x+4)+log(fabs((2))))/(x+2)*6));

Чтобы оно делало то, что хотите вы - надо написать

G = 8.5*exp(-2*x)+((5*(x+4)+log(fabs((x-0.2))))/(x + 2)*(x-0.6));
→ Ссылка