У меня есть следующая структура, и я хочу передать объект Buffer в качестве ссылки, чтобы я мог помещать вещи в очередь (класс Buffer имеет очередь строк) при создании различных потоков.Моя проблема в том, что очередь не обновляется по ссылке.Как размер все еще остается нулевым.
struct args{
Buffer buffer;
args( Buffer& rb){
buffer = rb;
}
};
Вот мой код для выполнения функции, которая добавляет элемент в буфер:
void* addElement(void* arguments){
args* myArgs = (args*) arguments;
myArgs->buffer.push("John Smith);
}
Вот код для создания потока и добавлениястроки в буфер:
Buffer request_buffer;
pthread_t request_thread;
thread_args* argument = new args(request_buffer);
pthread_create(&request_thread,NULL,addElement,argument);