визуальная нечетная ошибка компилятора в C ++ (компилятор VC)

Для этого кода

#include <math.h>
int main()
{
float x = 1.5f;
float y = 0.0f;
/*line6*/   y = pow(x, 6) * 235809835.41 - pow(x, 5) * 2110439254.2 + pow(x, 4) *7869448124.8 - pow(x, 3) * 15648965509 + pow(x, 2) * 17503313074 - (x)* 10440563329 + 2594694745‏; // error
/*line7*/   y = pow(x, 6) * 235809835.41 - pow(x, 5) * 2110439254.2 + pow(x, 4) *7869448124.8 - pow(x, 3) * 15648965509 + pow(x, 2) * 17503313074 - (x)* 10440563329 + 2594694745;
return 0;
}

Я получаю следующий журнал ошибок —

maincpp.cpp(6) : warning C4244 : '=' : conversion from 'double' to 'float', possible loss of data
maincpp.cpp(6) : error C2146 : syntax error : missing ';' before identifier '‏'
maincpp.cpp(6) : error C2065 : '‏' : undeclared identifier

Строка 6 не компилируется. Что меня больше всего удивляет, так это то, что строка 7 компилируется, даже если она идентична строке 6. Итак, если я закомментирую строку 6 и сохраню строку 7, программа успешно скомпилируется.

Я на Windows 8 64 бит, и эта программа была написана в Visual Studio 2013 как консольное приложение Win 32.

В рабочем коде я бы завершил все литералы с плавающей точкой с помощью f. Но в любом случае я не ожидаю ошибки компилятора без нее.

Уравнение было сгенерировано в Excel.

4

Решение

Похоже у тебя бродячий знак справа налево в строке 6 перед точкой с запятой:

... 2594694745<U+200F>;
7

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


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