Я очень, очень новичок в повышении. Насколько я понимаю, в boost :: mutex есть члены lock () и unlock (). Однако я получаю следующие сообщения об ошибках относительно функции, которая следует за ними. Я запустил команду «sudo apt-get install libboost-dev» в той же папке, где находится исходный код. Это также мой кодекс профессора, который был дан студентам. Я уверен, что это должно быть правильно составлено. Любая помощь будет отличной!
Сообщения об ошибках:
matrix.cc: в функции ‘void p_scalarproduct_t(int*, int*, int*, int, int, boost::mutex*)
’:
matrix.cc: 75: ошибка: ‘class boost::mutex
’ не имеет члена с именем ‘lock
’
matrix.cc: 77: ошибка: ‘class boost::mutex
’ не имеет члена с именем ‘unlock
’
matrix.cc: в функции ‘int p_scalarproduct(int*, int*, int, int)
’:
matrix.cc: 91: ошибка: 10 bind
’не является членом‘ boost
’
Код:
void p_scalarproduct_t(int* c, int* a, int* b,
int s, int e, boost::mutex* lock)
{
int tmp;
tmp = 0;
for (int k = s; k < e; k++)
tmp += a[k] * b[k];
lock->lock();
*c = *c + tmp;
lock->unlock();
}