quaternion.h: 15: lỗi: trường ‘v’ chưa hoàn thành loạiLỗi: Trường có loại không đầy đủ
Xin chào! Tôi bị mắc kẹt trên một lỗi mà tôi dường như không thể giải quyết được.
Dưới đây là mã của tôi:
#ifndef QUATERNION_H
#define QUATERNION_H
#include "vec3.h"
class Vec3;
class Quaternion
{
public:
Quaternion(Vec3 v);
Quaternion(double w, Vec3 v);
Vec3 v; <--------------------------This is where the error is :(
double scalar;
Quaternion operator *(Quaternion s);
Quaternion conjugate();
};
#endif
My Vec.h trông như thế này:
#ifndef VEC3_H
#define VEC3_H
#include "point.h"
#include "quaternion.h"
#include <math.h>
class Quaternion;
class Vec3
{
friend ofstream& operator <<(ofstream& output, const Vec3& p);
friend ifstream& operator >>(ifstream& input, Vec3& p);
public:
Vec3();
Vec3(double _x, double _y);
Vec3(double _x, double _y, double _z);
double x,y,z;
//Operators
Vec3 operator -(Vec3 a) const;
Vec3 operator /(double s) const;
Vec3 operator *(double s) const;
Vec3 operator *(Quaternion q) const;
// Used to do vector Vec3 addition
Vec3 operator +(Vec3 a) const;
Point operator +(Point a) const;
Vec3& operator =(Point a);
Vec3 crossProduct(Vec3 v1); // Itself cross v1
double dotProduct(Vec3 v);
double length();
void normalize();
};
#endif
Thanks for the help nữa =)
phụ thuộc circluar? –