以下のC++プログラムは、厳密に正の値を返します。ただし、0
を返します。std :: inner_productを使用すると内積がゼロになる
どうしますか?私はintダブル変換を疑うが、私は理由と方法を理解することはできません。
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
int main()
{
vector<double> coordinates;
coordinates.push_back(0.5);
coordinates.push_back(0.5);
coordinates.push_back(0.5);
cout<<inner_product(coordinates.begin(), coordinates.end(), coordinates.begin(), 0)<<endl;
return 0;
}
チャックル。それは私にも一度も気付いた。 –