Witajcie ponownie, tym razem inny problem, mianowicie z kolejką, a bardziej z biblioteką queue, oraz z dodawaniem nowego elementu do kolejki. Wyskakuje mi błąd poniżej i się nie kompiluje:
" 2 IntelliSense: no instance of overloaded function "std::queue<_Ty, _Container>::push [with _Ty=alcohol, _Container=std::deque<alcohol, std::allocator<alcohol>>]" matches the argument list
argument types are: (std::string, int, int, int, double)
object type is: std::queue<alcohol, std::deque<alcohol, std::allocator<alcohol>>> c:\Users\Michal\Documents\Visual Studio 2012\Projects\alco_project\Source.cpp 50
"
#include <string>
#include <iostream>
#include<queue>
using namespace std;
struct alcohol{
string name;
int time1,time2;
int weight;
float grams;
};
int main(){
string container,container2;
int weight;
size_t pos;
queue <alcohol> alcohols;
while(test){
cin>>container;
cout<<container<<endl;
cin>>weight;
cout<<weight<<endl;
cin>>container2;
cout<<container2<<endl;
if(container2.find(','))
test=false;
pos=container2.find(':');
container2=container2.substr(pos+1);
alcohols.push(container,(container2[0]-'0')*10+(container2[1]-'0'),(container[2]-'0')*10+container[2]-'0',weight,0.0);
}