声明没有声明任何[-fpermissive]错误

时间:2013-12-06 22:30:40

标签: c++

我得到“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

错误从“浮动附近”开始接下来的3行。

此错误的原因是什么,我该如何解决?

2 个答案:

答案 0 :(得分:7)

nearfar替换为其他内容,至少是为了测试,例如: near_far_:我怀疑你正在编写一些有趣的标题,它定义nearfar什么都不是。在遥远的过去,这两个是在某些平台上用来处理不同大小指针的关键词。

如果要验证理论,请使用-E选项处理源文件(您可能需要从编译行中删除其他选项,例如-c):使用此选项编译器产生预处理的输出。如果你捕获它并在那里查看你的类,我很确定它不会包含成员名称。

答案 1 :(得分:-1)

我怀疑“near”和“far”是“Vector.h”或字符串中保留的名称。 将这些变量重命名为不同的应该可以解决您的问题。