2013-11-06 3 views
-2

вот мой заголовок level.h:CPP Header ошибка файла структура

#ifndef LEVEL_H_ 
#define LEVEL_H_ 
    #include <string> 
    #include <map> 
    #include <queue> 
    #include <list> 

    typedef struct { 
     std::string title; 
     int stepsAmount; 
     std::queue <std::list <char> > steps; 
     std::queue <std::map <std::string, int> > stepsOptions; 
    } Level; 
    std::string getCurrentStepExpression(Level* level); 
#endif 

И мой level.cpp:

#include "level.h" 

std::string getCurrentStepExpression(Level* level) { 
    std::string result; 
    if (level) 
     result = level->stepExpressions.front(); 
    return result; 
} 

Все, кажется, хорошо, но compiller говорит:

..\level.cpp: In function 'std::string getCurrentStepExpression(Level*)': 
..\level.cpp:12:19: error: 'struct Level' has no member named 'stepExpressions' 

почему это Безразлично Не видишь поля моей структуры?

+5

Я думаю, проблема заключается в том, что «struct Level» не имеет члена с именем «stepExpressions». – juanchopanza

+0

Все в порядке, за исключением того, что у вас нет шаговЭкспрессии в уровне структуры. Взгляните, у вас есть шаги. – dnk

+1

О, боже, я идиот =) – ovnia

ответ

2

вам нужно добавить элемент stepExpressions или stepExpressions() в ваш уровень структуры и передать в какой-либо индекс для поиска в шагах.

struct Level { 
    std::string title; 
    int stepsAmount; 
    std::queue <std::list <char> > steps; 
    std::queue <std::map <std::string, int> > stepsOptions; 
    /* add the method stepExpressions to your class */ 
    std::list& stepExpressions(int step); 
}; 
1

stepExpressions не является частью вашей структуры. Попробуйте добавить его.

Смежные вопросы