|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Dec 2006
Messaggi: 185
|
[C++] sqrt Undeclared ?
Ho riscontrato il seguente problema: mi dice sqrt undeclared e non capisco perchè,
![]() ![]() /*modulo.cpp*/ #include<iostream.h> #include<stdio.h> int main () { double a,b,c,x1,x2; void input (double*, double*, double*); void calcola (double,double,double,double*,double*); void output (double,double); /*chiamate delle funzioni*/ input (&a,&b,&c); calcola (a,b,c,&x1,&x2); output (x1,x2); system("pause"); return 0; } void input (double* coeffa,double* coeffb,double coeffc) { cout<<"inserire il coeff a"; cin>>*coeffa; cout<<"inserire il coeff b"; cin>>*coeffb; cout<<"inserire il coeff c"; cin>>coeffc; } void calcola (double aa,double bb,double cc, double *t,double*z) { /*prototipo della funzione delta*/ double delta (double,double,double); *t=(-bb+sqrt(delta(aa,bb,cc)))/2*aa; *z=(-bb-sqrt(delta(aa,bb,cc)))/2*aa; } double delta (double x,double y,double z) { return y*y-4*x*z; } void output (double sol1,double sol2) { cout<<"la prima soluzione vale"<<sol1<<endl; cout<<"la seconda soluzione vale"<<sol2<<endl; } Questo è il risultato dopo la compilazione; In function `void calcola(double, double, double, double*, double*)': (riga 28) `sqrt' undeclared (first use this function) (Each undeclared identifier is reported only once for each function it appears in.) Grazie infinite. ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
#include <math.h> o #include <cmath>
Quell' <iostream.h> dovrebbe essere <iostream> |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Dec 2006
Messaggi: 185
|
Ho messo #include<math.h> E l'errore è cambiato:
[Linker error] undefined reference to `input(double*, double*, double*)' ld returned 1 exit status |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
Quote:
void input (double*, double*, double*); E poi invece l'hai scritto così: void input (double* coeffa,double* coeffb,double coeffc) { |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Mar 2005
Città: ~
Messaggi: 740
|
se stai sviluppando in linux/unix con gcc (nel tuo caso g++) credo tu debba usare la direttiva "-lm" (- livorno milano) che permette di considerare nella fase di linking la libreria matematica ("m" appunto).
__________________
Ciao ciao cagnolino Billy ![]() ![]() ![]() MacMini late 2009, 2.53GHz, 4GB ram, 320GB hard disk, Snow Leopard 10.8.2 - iPod Nano 6th gen. XBOX Live GamerTag: InsaneMau |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Mar 2005
Città: ~
Messaggi: 740
|
Quote:
![]()
__________________
Ciao ciao cagnolino Billy ![]() ![]() ![]() MacMini late 2009, 2.53GHz, 4GB ram, 320GB hard disk, Snow Leopard 10.8.2 - iPod Nano 6th gen. XBOX Live GamerTag: InsaneMau |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:52.