【发布时间】:2011-11-04 16:28:48
【问题描述】:
我定义了一些枚举,例如(在标题中):
typedef enum { METHOD, URL, URL_PARAM, URL_VALUE, VERSION, HEADER_KEY, HEADER_VALUE, BODY, OK } http_request_parser_state;
我尝试创建这样的函数(在 Cpp 文件中):
http_request_parser_state class_name::parse_buffer( http_request_parser_state parser_state)
{
return parser_state;
}
但我收到如下错误:
Error 1 error C2143: syntax error : missing ';' before 'parse_buffer'
Error 5 error C2371: 'parse_buffer' : redefinition; different basic
etc
那么如何定义枚举,使其可以同时返回和函数参数呢?
【问题讨论】:
-
它没有什么特别之处。那个简单的代码应该可以工作。如果这是 C++,
typedef也是 unneded。 -
这两个代码片段是在同一个源文件中还是在单独的头文件和源文件中,它们之间是否还有其他内容?
-
可以使用 gcc 和 clang 编译为 C 和 C++。
-
最终将
parser_state作为链接传递并返回void
标签: c++ function parameters enums return