rapidjson::Value
의 모든 멤버를 std::vector
으로 반환하는 함수가 필요합니다. 나는 때마다 IsArray()
와 함께 if
을 쓰는 것을 피하려고 노력하고있다. 불행히도 다음 코드는 작동하지 않습니다.rapidjson :: value의 요소를 std :: vector로 복사
std::vector<const rapidjson::Value&> valueToList(const rapidjson::Value& value)
{
std::vector<const rapidjson::Value&> valueList;
if (value.IsArray())
{
for (rapidjson::SizeType i = 0; i < value.Size(); i++)
{
valueList.push_back(val[i]);
}
}
else
{
valueList.push_back(val);
}
return valueList;
}
나는 오류 와 push_back 모호한입니다 얻을. 이 문제를 극복하기위한 쉬운 방법이 있습니까? 감사.
네이티브 참조 벡터를 사용할 수 없습니다. 두 번째 및 세 번째 답변 (이 질문에 ** **) (http://stackoverflow.com/questions/922360/why-cant-i-make-a-vector-of-references) 왜 설명 왜 괜찮은 일을 및 대안을 제안 (그 질문에 대한 선택된 대답보다 관습, imho). – WhozCraig