2017-10-25 8 views
0

このプログラムでは、私の関数が正常に機能するようになっています。関数の問題、未定義の参照エラー

/tmp/cc7oQapH.o: In function `main':polarcoord.cpp:(.text+0x7b): undefined reference to `degrees2radians(double)' 
            polarcoord.cpp:(.text+0x99): undefined reference to `compute_coord(double, double, double, double)' 
            collect2: ld returned 1 exit status 

オンラインで多くのことを読んでいるにもかかわらず、この問題を解決する方法がわかりません。どんな助けもありがとう!宣言

と一致しない

#include <iostream> 
#include <cmath> 

using namespace std; 

// FUNCTION PROTOTYPE FOR degrees2radians 
double degrees2radians(double) ; //variable for the function degrees2radians 

// FUNCTION PROTOTYPE FOR compute_coord 
void compute_coord(double, double, double, double) ;  //variable for the 
function compute_coord 

// DO NOT MODIFY THE MAIN ROUTINE IN ANY WAY 
int main() 
{ 
    double angle_degrees(0.0), angle_radians(0.0), radius(0.0); 
    double coord_x(0.0), coord_y(0.0); 

    // Read in polar coordinates 
    cout << "Enter radius: "; 
    cin >> radius; 

    cout << "Enter polar angle (degrees): "; 
    cin >> angle_degrees; 

    // Convert degrees to radians 
    angle_radians = degrees2radians(angle_degrees); 

    // Compute Cartesian (x,y) coordinates 
    compute_coord(radius, angle_radians, coord_x, coord_y); 

    // Output Cartesian coordinates 
    cout << "Cartesian coordinates: "; 
    cout << "(" << coord_x << "," << coord_y << ")" << endl; 

    return 0; 
} 

// DEFINE FUNCTION degrees2radians here: 
double degrees2radians(double angle_degrees, double & angle_radians) 
{ 
    angle_radians = angle_degrees * (3.14/180); 
    //return (angle_radians); 
} 


// DEFINE FUNCTION compute_coord here: 
double compute_coord(double radius, double angle_radians, double & coord_x, 
double & coord_y) 
{ 
    coord_x = radius * cos(angle_radians); 
    coord_y = radius * sin(angle_radians); 
    return (coord_x, coord_y); 
} 
+2

degrees2radians' 'の実装は、署名を変更する参照して、戻り値を使用しています。 –

答えて

0
#include <iostream> 
#include <cmath> 

using namespace std; 

double degrees2radians(double) ; 
void compute_coord(double, double, double&, double&) ; 

int main() 
{ 
    double angle_degrees(0.0), angle_radians(0.0), radius(0.0); 
    double coord_x(0.0), coord_y(0.0); 

    cout << "Enter radius: "; 
    cin >> radius; 

    cout << "Enter polar angle (degrees): "; 
    cin >> angle_degrees; 

    angle_radians = degrees2radians(angle_degrees); 

    compute_coord(radius, angle_radians, coord_x, coord_y); 

    cout << "Cartesian coordinates: "; 
    cout << "(" << coord_x << "," << coord_y << ")" << endl; 

    return 0; 
} 

double degrees2radians(double angle_degrees) 
{ 
    return angle_degrees * (3.14/180); 
} 

void compute_coord(double radius, double angle_radians, double & coord_x, double & coord_y) 
{ 
    coord_x = radius * cos(angle_radians); 
    coord_y = radius * sin(angle_radians); 
} 

あなたの関数の定義は、多分これは右のコードです

関連する問題