Eclipse CDT C ++枚举“无法解析”

时间:2012-08-08 14:35:32

标签: c++ eclipse enums eclipse-cdt

我正在使用C ++ / OpenGL在Eclipse CDT中开发游戏,它编译并运行得很好,但由于某种原因,我声明的枚举(SCREEN_MAIN_MENU)在红色曲线中加下划线并突出显示符号SCREEN_MAIN_MENU可能没有解决。这是一个公然的谎言,我如何让Eclipse识别它?

Screens.h:

#ifndef SCREENS_H
#define SCREENS_H

enum {
SCREEN_MAIN_MENU,
SCREEN_LOADING,
SCREEN_GAME
};

class Screen{
public:
    static void change(int screen);
    static void render();
};

#endif

Screens.cpp:

#include "screens.h"
#include "gui.h"
#include "global.h"

extern Global global;

void Screen::change(int screen){
    global.screen = screen;
}

void Screen::render(){
if(global.screen == SCREEN_MAIN_MENU){ //HERE ARE THE RED SQUIGGLES!!!??
    global.text_renderer.print("Sidona", global.screen_width/2-40,
    global.screen_height-25);
    Gui::render();
    }
}

2 个答案:

答案 0 :(得分:13)

这可能是由Eclipse CDT中的错误引起的:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=356057

尝试重建索引(右键单击项目 - >索引 - >重建)

答案 1 :(得分:0)

您是否尝试为枚举创建命名类型?

enum SCREEN_TYPE {  SCREEN_MAIN_MENU, SCREEN_LOADING, SCREEN_GAME };