0
當我試圖測試一下我的頭和實現文件創建的方法,我得到以下編譯錯誤:(C++)未定義的引用類文件錯誤
undefined reference to 'main_tucker_points::points::points(double, double, double)
與成員函數相同的編譯錯誤發生我正試着打電話。
這裏是我的points.h文件的代碼:
namespace main_tucker_points
{
class points
{
public:
//CONSTRUCTORS
points();
points(double x, double y, double z);
//MODIFICATION MEMBER FUNCTIONS
void set_x_point_location(double p_loc);
void set_y_point_location(double p_loc);
void set_z_point_location(double p_loc);
double get_x_coord();
double get_y_coord();
double get_z_coord();
double shift_x_point(double angle, char axis);
double shift_y_point(double angle, char axis);
double shift_z_point(double angle, char axis);
private:
double x_coord;
double y_coord;
double z_coord;
double x_shift_coord;
double y_shift_coord;
double z_shift_coord;
double x_coord_new;
double y_coord_new;
double z_coord_new;
double angle;
char axis;
};
}
#endif
下面的代碼到我的類實現文件,points.cpp。
#include <cassert>
#include "points.h"
using namespace std;
namespace main_tucker_points
{
points::points()
{
}
points::points(double x, double y, double z)
{
x_coord = x;
y_coord = y;
z_coord = z;
}
double points::get_x_coord()
{
return x_coord;
}
double points::get_y_coord()
{
return y_coord;
}
double points::get_z_coord()
{
return z_coord;
}
}
最後,這裏是我的main.cpp文件的代碼來測試成員函數。
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include "points.h"
using namespace std;
using namespace main_tucker_points;
int main()
{
points p1(3.5, 3.6, 3.7);
printf("Coordinates are %f, %f, %f", p1.get_x_coord(), p1.get_y_coord(), p1.get_z_coord());
return 0;
}
請發佈您的構建命令。 –