あなたのご意見ありがとうございますが、この問題は解決されました!私は正しい順序でパラメータを持っていなかった。良い夜を! 私のpriority_queueのオブジェクトがオーバーフローとして登録し続ける
はいくつかの理由についてTimerEventという名前のクラスからオブジェクトがerror C2665: 'TimerEvent::TimerEvent' : none of the 2 overloads could convert all the argument types
を設定しておくしかし、私の知る限りでは過負荷はありません。
コードを見て、洞察があれば教えてください。 Ty。クラスで
class TimerEvent {
public:
char primary;
int secondary;
string item;
int socketno;
int eventnumber;
int expirytime;
bool eventvalid;
TimerEvent(string td, int sno = 0, int evnum = 0, int exptime = 0, bool evvalid = false, char pri = 'A', int sec = 1)
: primary(pri), secondary(sec), socketno(sno), eventnumber(evnum), expirytime(exptime), eventvalid(evvalid), item(td) {}
friend bool operator<(
const TimerEvent& x, const TimerEvent& y) {
if(x.primary > y.primary)
return true;
if(x.primary == y.primary)
if(x.secondary > y.secondary)
return true;
return false;
}
friend ostream&
operator<<(ostream& os, const TimerEvent& td) {
return os << td.primary << td.secondary
<< ": " << td.item << td.socketno << td.eventnumber << td.expirytime << td.eventvalid;
}
};
そして、ここでは、他の半分だ
if(comsent.compare("test") == 0) {
timerqueue.push(TimerEvent('A', 2, 10, 1, 0, true, "Alright"));
// The above is setting the error
cout << " Top Value Is: " << timerqueue.top().socketno << endl;
}