这是错误:
我不知道为什么这个奇怪的错误! “点”和“向量”是类的“ Droite3D”属性!
请帮助
******************************* Droite3D.h**************************
#ifndef DROITE3D_H
#define DROITE3D_H
#include<iostream>
#include<Point3D.h>
#include<Vecteur3D.h>``
class Droite3D
{
Point3D Point;
Vecteur3D Vecteur;
public:
Droite3D(Point3D p, Vecteur3D v){
Point=p;
Vecteur=v;
}
void afficher();
void afficher ( ostream & out) const;
};
*************** Droite3D.cpp ****************
#include "Droite3D.h"
#include<iostream>
ostream & operator<< (ostream & out, const Droite3D &D)
{
D.afficher (out);
return out;
}
}
void afficher ( ostream & out) const{
cout <<"\nc'est la droite definie par le point "<<Point<<" et le vecteur "<<Vecteur;
最佳答案
afficher
是Droite3D
的成员,因此您需要将其定义放在该范围内:
void Droite3D::afficher ( ostream & out) const
{// ^^^^^^^^^^
out <<"\nc'est la droite definie par le point "
<<Point<<" et le vecteur "<<Vecteur;
}
否则,您将定义一个非成员
afficher
,显然,该成员对Point
或Vecteur
一无所知。请注意,您还想流式传输到
out
,而不是cout
。关于c++ - 点未声明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20934984/