Jeg lavede følgende lille test-program: <code> #include <stdio.h>
template <typename T> T calcSum(T arr[], int size) { T result = 0; int i; for(i = 0; i < size; i++) result += arr[i];
return result; }
template <typename T> T calcSum(T* arr[], int size) { T result = 0; int i; for(i = 0; i < size; i++) result += *arr[i];
return result; }
int main(void) { double *x[2]; double a = 12.34, b = 43.21; x[0] = &a; x[1] = &b; double r = calcSum(x, 2);
printf("Result: %f\n", r);
return 0; } </code> Hverken gcc (cygwin) eller BorlandC havde problemer med det, men MS Visual C++ 6.0 kommer med den fejl du nævner. Hvad kan man lære af det?
Øv det ser ud til det ikke kan lade sig gøre når man som jeg bruger academic versionen. Så må jeg jo overveje om det er 895 kr. værd at købe 2003-versionen bare for at løse ovenstående problem ;-)
Ok - husk det til næste gang, så får I lidt ekstra der ;-) Jeg vil mene det er på sin plads at lukke spg'et nu.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.