“OBJ_TYPE”并没有在这一范围内声明,注意事项:建议选择:枚举VALUE_TYPE(‘obj_

2019-10-19 10:06发布

我使用JSON精神解析和生成JSON。

我不能使用using namespace json_spirit因为另一个库使用冲突的名字。

我想检测的类型,那么具体有读消息

if(message.type() == obj_type)

但是编译报道

error: ‘obj_type’ was not declared in this scope
       if(stamper_message.type() == obj_type){
                                    ^
note: suggested alternative:
In file included from /usr/local/include/json_spirit.h:13:0:
/usr/local/include/json_spirit_value.h:32:22: note:   ‘obj_type’
     enum Value_type{ obj_type, array_type, str_type, bool_type, int_type, real_type, null_type };

我也加入这一行

using json_spirit::Value_type;

而这条线

typedef json_spirit::Value_type Value_type;

但它并不能帮助。

我这样一个简单的问题道歉,但我不能找到一个解决方案,所以这怎么能enum进口使用这种方式?

Answer 1:

从一个非常古老的Q&A :

using json_spirit::Value_type;
Value_type obj_type = Value_type::obj_type;

我会删除,如果有人张贴更好的东西还是有办法在同一行声明所有枚举成员。



文章来源: ‘obj_type’ was not declared in this scope, note: suggested alternative: enum Value_type