好的,那是我的结构:

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传递给qpush()方法。这将失败,因为当您提供了push()类型的参数时,sudurjanie接受了string类型的参数。
  • cin读取到push()调用的结果,即void。这将失败,因为读入void没有任何意义。
  • 10-01 09:53