Widziałem już kilka komentarzy odnośnie bug'a którego zamieściłem, i może to ja jestem czegoś nieświadomy, ale kod niżej
#include <iostream>
#include <math.h>
#include <stdlib.h>
using namespace std;
int long_func(int a, int b, int c, int x)
{
long shock = pow(a*x, 2) + (b*x) + c;
return shock;
}
int double_func(int a, int b, int c, int x)
{
double shock = pow(a*x, 2) + (b*x) + c;
return shock;
}
int main ()
{
cout << long_func(2,4,2,15) << endl;
cout << double_func(2,4,2,15) << endl;
system("PAUSE");
return 0;
}
skompilowany przez Codeblocks i Dev'a daje inne wartości (oczywiście z pomocą minGW)
Co tu mianowicie jest nie tak? Czy jest to wina kompilatora czy moja?
O zaokrągleniach nie bardzo można tu mówić bo funkcja przyjmuje same int'y