JSONParser.h
#ifndef UTILITY_CLASSES_JSONPARSER_H_
#define UTILITY_CLASSES_JSONPARSER_H_
#include <iostream>
#include <string>
#include <boost/property_tree/json_parser.hpp>
namespace Parsers {
class JSONParser {
boost::property_tree::ptree pTree;
public:
JSONParser();
virtual ~JSONParser();
void setJSON(char* JSON);
};
} /* namespace Parsers */
#endif /* UTILITY_CLASSES_JSONPARSER_H_ */
JSONParser.cpp
/*
* JSONParser.cpp
*
* Created on: 20-May-2016
* Author: arjun
*/
#include "JSONParser.h"
namespace Parsers {
JSONParser::JSONParser() {
// TODO Auto-generated constructor stub
}
JSONParser::~JSONParser() {
// TODO Auto-generated destructor stub
}
void JSONParser::setJSON(char* JSON){
std::string temp;
pTree.put("foo", "bar");
pTree.put("foor", "bawr");
std::ostringstream buf;
write_json (buf, pTree, false);
}
} /* namespace Parsers */
上面定义的是我为JSONParser编写的cpp-header对。但是,当我尝试使用std :: strings:
时会抛出错误std :: string含糊不清。
似乎只要我包含boost/property_tree/json_parser.hpp
就会发生这种情况,即每当我删除包含它时,都没有错误。
当我包含GeographicLib
之外的内容时也会发生同样的情况。
我在Ubuntu 16.04上,我的库位于usr/local/lib
,包含在usr/local/include
错误如下:
描述资源路径位置类型 'std :: string'含糊不清' 候选人是: 'JSONParser.cpp / PSO-PathFinding / Utility Classes第14行语义错误
使用cdt在Eclipse上编程。
答案 0 :(得分:1)
解决。不是C ++问题,也不是提升库问题。似乎是我正在使用的当前eclipse工作区的一个问题。