我得到"decleration没有声明任何[-fpermissive]错误"; 这是我的代码;
#ifndef CAMERA_H
#define CAMERA_H
#include "Vector.h"
#include <string>
using namespace std;
class Camera
{
private:
int id;
float position[3];
Vector gaze;
Vector up;
float left;
float right;
float bottom;
float top;
float near;
float far;
int type;
public:
Camera(int i,string c, string g, string u, string f, string t);
int getID() {return id; }
float* getPosition() { return position; }
Vector getGaze() { return gaze; }
Vector getUp() { return up; }
float getLeft() {return left;}
float getRight() {return right;}
float getBottom() {return bottom;}
float getTop() {return top;}
float getNear() {return near;}
float getFar() {return far;}
int getType() {return type;}
};
#endif // CAMERA_H
Run Code Online (Sandbox Code Playgroud)
错误从"浮动附近"开始 接下来的3行.
这个错误的原因是什么,我该如何修复它.
替换near和far其他东西,至少对于测试,例如near_和far_:我怀疑你正在编译一些有趣的标题,它定义near并且far什么都不是.在遥远的过去,这两个是在一些平台上用来处理不同大小的指针的关键词.
如果要验证理论,请使用-E选项处理源文件(您可能需要从编译行中删除其他选项,例如-c):使用此选项,编译器将生成预处理的输出.如果你捕获它并在那里查看你的类,我很确定它不会包含成员名称.