Reputation: 4437
I'm developing a game in Eclipse CDT in C++/OpenGL, and it compiles and runs just fine, but for some reason an enum I'm declaring (SCREEN_MAIN_MENU) gets underlined in red squiggles and highlighting it says Symbol SCREEN_MAIN_MENU could not be resolved. This is a blatant lie, how do I get Eclipse to recognize it?
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();
}
}
Upvotes: 6
Views: 8722
Reputation: 771
This may be caused by a bug in Eclipse CDT:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=356057
Try to rebuild the index (Right click on the project -> Index -> Rebuild)
Upvotes: 14
Reputation: 7440
Have you tried creating a named type for the enum?
i.e.
enum SCREEN_TYPE { SCREEN_MAIN_MENU, SCREEN_LOADING, SCREEN_GAME };
Upvotes: 0