クエリの代わりにオブジェクトのベクトルを取得するgsoapWebサービスを開発しています。それを行うには2つの方法があります。1つは単純なループによる方法、もう1つはイテレータによる方法です。それらのどれも働いていません。
エラーは次のとおりです。
エラー:に一致するものがありませ
'operator<<'
ん'std::cout mPer.MultiplePersons::info.std::vector<_Tp, _Alloc>::at<PersonInfo, std::allocator<PersonInfo> >(((std::vector<PersonInfo>::size_type)i))'
MultiplePersons mPer; // Multiple Person is a class, containing vector<PersonInfo> info
std::vector<PersonInfo>info; // PersonInfo is class having attributes Name, sex, etc.
std::vector<PersonInfo>::iterator it;
cout << "First Name: \t";
cin >> firstname;
if (p.idenGetFirstName(firstname, &mPer) == SOAP_OK) {
// for (int i = 0; i < mPer.info.size(); i++) {
// cout << mPer.info.at(i); //Error
//}
for (it = info.begin(); it != info.end(); ++it) {
cout << *it; // Error
}
} else p.soap_stream_fault(std::cerr);
}
operator<<
演算子のオーバーロードが問題であることは明らかですcout
。私はこれに関連するいくつかの問題を見てきましたが、誰も私を助けてくれませんでした。誰かがそれを解決する方法について具体的な例を提供することができれば、それは非常にありがたいです。(一般的には話さないでください。私はC ++を初めて使用し、解決策を探すために3日間を費やしました。)