同样是auto类型,第5行报错,第17行不报错,是啥原因啊?
error: no matching member function for call to 'value'
parsejsonbody(subItem.value());
1 bool parsejsonbody(const json& subit){
2 // for (auto &subit11 : subit.items()){
3 if (subit.is_array()){
4 for (const auto &subItem : subit){
5 parsejsonbody(subItem.value());
6 }
7 }else if (subit.is_object()){
8 //else if(subit11alue().is_string()){
9 // cout << "subit11: " << *subit11 << endl;
10 for (auto &subit22 : subit.items()) {
11 if (subit22.value().is_string()){
12 string vstri = subit22.value().get<string>();
13 cout << "it key: " << subit22.key() << endl;
14 cout << "it value: " << vstri << endl;
15 } else if (subit22.value().is_array() || subit22.value().is_object()){
16 cout << "subit11 is array " << endl;
17 parsejsonbody(subit22.value());
18 }
19 }
20 }
21 return true;
22 }