好的,那是我的结构:
struct sudurjanie {
string stoka_ime;
string proizvoditel;
double cena;
int kolichestvo;
};
接下来,我创建队列:
queue<sudurjanie> q;
但是当我写这个:
cin >> q.push(sudurjanie.stoka_ime);
在错误列表中输入:
好吧,当我尝试这个:
cout << q.back();
,为什么这样写:
?
最佳答案
听起来您可能想这样做:
queue<sudurjanie> q;
sudurjanie item;
cin >> item.stoka_ime;
q.push(item);
cin>>q.push(sudurjanie.stoka_ime);
行没有任何意义。从字面上看,这意味着:sudurjanie.stoka_ime
传递给q
的push()
方法。这将失败,因为当您提供了push()
类型的参数时,sudurjanie
接受了string
类型的参数。 cin
读取到push()
调用的结果,即void
。这将失败,因为读入void
没有任何意义。