我想從C++頭文件中訪問枚舉並獲取錯誤,我想我可能只是以錯誤的方式來處理這個問題。從頭文件訪問枚舉時出錯
當我編譯程序時,我收到錯誤說我的枚舉沒有在這個範圍內聲明。
例如 : 「錯誤的基本沒有在這個範圍內聲明」:
tokenizer.h
typedef struct {
char *start;
enum { BASIC, SINGLE_QUOTE, DOUBLE_QUOTE, PIPE, SEMICOLON, EOL, ERROR } type;
} aToken;
simpleshell.cpp
void processLine(char *line)
{
enum { CMD, PIPED_CMD, ARGS } processMode;
processMode = CMD;
Statement *stmt = newStatement(); // Store the current statement
Command *cmd = NULL;
int doneFlag = 0;
char *expandedToken = NULL;
startToken(line);
aToken answer;
answer = getNextToken();
while (!doneFlag)
{
switch (answer.type)
{
case ERROR:
... // some code
return;
... // other case statements
case PIPE:
... // some code
break;
case EOL:
doneFlag = 1;
default:
fprintf(stderr, "Programming Error: Unrecognized type returned!!!\n");
if (cmd != NULL)
{
freeCommand(cmd);
cmd = NULL;
}
if (stmt != NULL)
{
freeStatement(stmt);
stmt = NULL;
}
return;
}
answer = getNextToken();
}
}
這有效。謝謝。 – Blinky