Умножение в С++ некоммутативно.
Вот пример:
#include <iostream>
int main() {
std::cout << (2,0 * 2,5) << std::endl; // 5
std::cout << (2,5 * 2,0) << std::endl; // ???
return 0;
}
Выведет 5 только на первую строчку. А на вторую нет.
Живите с этим.
Разумеется, тут проблема в том, что в С++ числа с плавающей запятой пишутся с точкой. Запятая - это отдельный оператор С++, который выводит второе значение.
Молодцы, что разгадали этот простенький паззл 🎁
К слову, clang выводит ворнинг на это. А gcc только при включенном Wall.