gpt4 book ai didi

c++ - 从头文件访问枚举时出错

转载 作者:行者123 更新时间:2023-11-27 23:06:32 25 4
gpt4 key购买 nike

我试图从 C++ 中的头文件访问枚举并遇到错误,我想我可能只是以错误的方式处理这个问题。

当我编译程序时出现错误,指出我的枚举未在此范围内声明。

例如“错误:BASIC 未在此范围内声明”“错误:‘PIPE’未在此范围内声明”

分词器.h

typedef struct {
char *start;
enum { BASIC, SINGLE_QUOTE, DOUBLE_QUOTE, PIPE, SEMICOLON, EOL, ERROR } type;
} aToken;

简单的shell.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();
}
}

最佳答案

你应该写成aToken::BASIC, aToken::PIPE等。枚举包含在aToken的范围内.

关于c++ - 从头文件访问枚举时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23200509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com