class A{
static queue x;
void operateOnQueue()
{
x.push(something);
}
}
class B{
void getOtherClassQueueSize()
{
A *a= new A();
cout<<a->x.size()<<endl; \\ size of queue is 1
// OR alternatively
cout<<A::x.size()<<endl;
delete(a);
}
}
如何在getOtherClassQueueSize()中的類B中訪問相同的A類隊列而不將其設爲靜態?沒有把它變成靜態的,我會得到size = 0.有沒有解決方法?從另一個類訪問類的變量而不使第一類變爲靜態
這些函數在線程中運行以保持並行性。另一種方法是傳遞函數參數,但我試圖避免它。
你的'A類'不是靜態的,而是'x'成員。你在問題中有答案。 – harper 2014-12-19 11:56:40
請您發佈*代碼*。關鍵字'Class'不存在。 – harper 2014-12-19 11:58:51
'\\ size是1'是什麼意思?順便說一句:這是無效的C++語法。這個「東西」來自哪裏? – Wolf 2014-12-19 12:12:46