[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:29981] バグなのかどうか自信がないのですが。



Package: g++
Version: 2:2.95.4-6
において、

以下では結果が、49.5 なのですが、
===============================================
int main()
{
  double start = 0.00, end = 1.00, width = 0.01;
  cout << siguma(start, end, width) << endl;

  return 0;
}

template <class T>
T siguma(const T &start, const T &end, const T &width)
{
  T total = 0;
  for(T i= start; i <= end; i += width) {
    total += i;
  }
  return total;
}
================================================

次のように、桁数を変えると、
  double start = 0.0, end = 1.0, width = 0.1;
5.5 になります。

プログラミングを始めて間がないので、もしかしたらbug ではないのかもしれませんが。
他にコンパイラーも無く、試すことができなかったので、ここに質問させてもらいました。

初歩的なミスであったら、申し訳ありません・・・。