我正在开发 gsoap Web 服务,我在其中检索对象向量以返回查询。我有两种方法可以做到这一点:首先通过简单循环和迭代器。他们都没有工作。
错误是:
'operator<<'
错误: in不匹配'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++ 新手,我花了三天时间寻找解决方案。)