未声明点
Point was not declared
本文关键字:未声明 更新时间:2023-10-16
这是错误:我不知道为什么会出现这个奇怪的错误!"Point"和"Vector"是类的"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
。
请在将方法afficher
定义为使用类 Droite3D
变量时使用范围解析运算符 ::
,因此您需要提及其作用域。
相关文章:
- #ifdef和未声明的标识符
- 未声明的标识符编译暗黑破坏神 2 程序"muleview"
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- Google protobuf 时间戳未声明标识符,在 Windows 上具有C++
- 在气泡排序程序中未声明错误功能
- 我在范围内未声明的错误类有问题
- 使用未声明的标识符"sqrt"?
- 我包含了<winuser.h>,但编译器在MonitorFromWindow上抛出"未声明"
- 对类 (C++) 中的私有变量使用未声明的标识符
- 我的代码中有错误,未声明的标识符
- 未定义的标识符/未声明
- 错误:在 C++ 'std'使用未声明的标识符
- 在编译器之前检测未声明的标识符
- 使用未声明的标识符'temp'
- 使用未声明的标识符"yylex"和"yyin"?
- 使用"class"关键字,后跟未声明的标识符
- 未声明的标识符错误,但变量定义正确 (?)
- C2065 'cout':未声明的标识符
- 在此范围内未声明错误"Clreol"
- C++模板模板参数中未声明的标识符