[请教]TinyJson编译不过去

ceremony88 2009-03-11 11:36:47
我用的tinyjson,boost库也安装上了,但是编译不过去
代码如下:

string strJson = "{ \"123\" : \"234\"}";

json::grammar<char>::variant var
= json::parse(strJson.begin(),strJson.end());

报错为[C++ Error] fmMain.cpp(456): E2406 Dependent type qualifier 'char *' is not a class or struct type
[C++ Error] fmMain.cpp(456): E2034 Cannot convert 'typename json::grammar<typename Iterator::value_type>::variant' to 'boost::shared_ptr<boost::any>'
...全文
191 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yingruxue 2010-02-09
  • 打赏
  • 举报
回复
嗯, 用::来访问类型时候,要加上typename, 否则编译器怎么知道是静态变量还是类型?
chzealot 2009-05-20
  • 打赏
  • 举报
回复
我也遇到过这种问题,需要修改tinyjson.hpp,对应的修改记录如下:
< json::grammar< typename Iterator::value_type >::stack st;



> typename json::grammar< typename Iterator::value_type >::stack st;

565c565

< return json::grammar< typename Iterator::value_type >::variant(new boost::any());



> return typename json::grammar< typename Iterator::value_type >::variant(new boost::any());

另外,官网的遍历函数也编译不过,修改后参考:http://zealot.hitidea.org/2009/04/26/tinyjson-cpp-json-parser/
dyw 2009-04-06
  • 打赏
  • 举报
回复
楼主使用什么编译工具及环境?

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧