我正在使用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();
}
}
答案 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 };