error C2668: “JSONNode::JSONNode ”: 对重载函数的调用不明确

来源:互联网 发布:linux操作系统简介 编辑:程序博客网 时间:2024/05/02 11:49

下载libjson_7.6.1(http://sourceforge.net/projects/libjson/)编译成静态库,然后测试了网上的小例子,发现报错:

 error C2664: “JSONNode::push_back”: 不能将参数 1 从“JSONNode”转换为“JSONNode *”
1>          没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符



1: error C2668: “JSONNode::JSONNode”: 对重载函数的调用不明确
1>          d:\libjson\_internal\source\jsonnode.h(137): 可能是“JSONNode::JSONNode(const json_string &,bool)”
1>          d:\libjson\_internal\source\jsonnode.h(137): 或       “JSONNode::JSONNode(const json_string &,json_number)”
1>          d:\libjson\_internal\source\jsonnode.h(137): 或       “JSONNode::JSONNode(const json_string &,json_int_t)”
1>          尝试匹配参数列表“(const char [1], int)”时



这是因为在cpp中调用了libjson提供给c接口的函数,在JSONOptions.h注释掉#define JSON_LIBRARY

生成供支持c++的库,这样小例子就可以成功运行了!

0 0