Dear friends,
please see the bellow my code and tell me how to get out
this problem please.when I try to print values of
variant it's giving the error as:
std::ostream& operator<<(std::ostream&, const status_rsp&):
worked.cpp:33: error: const struct status_rsp has no member named os
worked.cpp:33: error: const class boost::variant has no member named channelid
worked.cpp:33: error: expected ) before ; token
worked.cpp:34: error: const class boost::variant
typedef int cid;
typedef int n_queue;
typedef boost::variant<chid> link_st_rs;
typedef std::vector link_st_rs_list;
typedef boost::variant link_de_rs;
typedef std::vector link_de_rs_list;
using namespace std;
struct lparam {
int value;
};
typedef vector<lparam> link1;
struct link_s_rsp {
link1 ll;
link_st_rs_list lsrl;
link_de_rs_list ldrl;
};
struct status_rsp {
link_s_rsp rsp;
friend std::ostream& operator<<(std::ostream& os , const status_rsp& sr)
{
os << "the value is " << sr.rsp.ll.front().value;
os << "id" << sr.rsp.lsrl.front().chid;
os << "val" << sr.rsp.ldrl.front().n_queue;
return os;
}
};
typedef vector srl;
int main()
{
linkparam lp;
lp.value =90;
link_de_rs_list ldrl;
lsrl.push_back(4);
ldrl.push_back(3);
status_rsp sr;
sr.rsp.ll.push_back(lp);
srl srl1;
srl1.push_back(sr);
link1::iterator iter2 = srl1.begin()->rsp.ll.begin();
cout << "A vlue is: " << iter2->value;
link_st_rs_list::iterator iter3 = srl1.begin()->rsp.lsrl.begin();
cout << " B value " << iter3->chid;
link_de_rs_list::iterator iter4 = srl1.begin()->rsp.ldrl.begin();
cout << "C value" < iter4->n_queue;
cin.ignore();
return 0;
}
Best Regards
BaBu
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.