我是一名C ++初学者,无法想象我们的错误。我尝试定义一个类Triangle和一个Vector3D类。我想用三个Vector3D对象构造一个Triangle对象。
我得到:“错误:在Triangle.cpp文件中调用'Vector3D :: Vector3D()”没有匹配函数
我不明白错误信息。在我的理解中,我只是传递对象,而不是调用函数Vector3D()...这是代码。我会很高兴得到任何帮助。
Triangle.h
#ifndef TRIANGLE_H
#define TRIANGLE_H
#include "Vector3D.h"
class Triangle
{
public:
Triangle(Vector3D a, Vector3D b, Vector3D c);
Vector3D p1, p2, p3;
virtual ~Triangle();
protected:
private:
};
#endif // TRIANGLE_H
Triangle.cpp
#include "Triangle.h"
Triangle::Triangle(Vector3D a, Vector3D b, Vector3D c)
{
p1 = a;
p2 = b;
p3 = c;
}
Triangle::~Triangle(){}
Vector3D.h
#ifndef VECTOR3D_H
#define VECTOR3D_H
class Vector3D
{
public:
double x, y, z;
Vector3D(double a, double b, double c);
virtual ~Vector3D();
protected:
private:
};
#endif // VECTOR3D_H
Vector3D.cpp
#include "Vector3D.h"
#include <math.h>
Vector3D::Vector3D(double a, double b, double c)
{
x = a;
y = b;
z = c;
}
Vector3D::~Vector3D(){}