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);
}
}
Как я могу получить доступ к той же очереди класса A класса B в getOtherClassQueueSize(), не делая его статическим? Не делая его статическим, я получу size = 0. Есть ли какое-нибудь обходное решение?доступ к переменной класса из другого класса без статического статического класса
Эти функции работают в потоках, чтобы поддерживать параллельность. Другой способ - передать аргументы функции, но я стараюсь избегать этого.
Ваш 'класс A' не является статическим, а членом' x' является. У вас есть ответ в вопросе. – harper
Не могли бы вы высказать * код *. Ключевое слово 'Class' не существует. – harper
Что вы подразумеваете под '\\ size is 1'? BTW: это недопустимый синтаксис C++. Откуда это «что-то»? – Wolf