Ошибка шины во время вызова потока

Следующий код вызывает ошибку шины в дистрибутиве Rasbian в системе rasberry pi mod2.

#include <thread>
#include <iostream>

class bar {
public:
void startFoo() {
std::thread t(&bar::foo, this); //bus error because of this line
t.join();
}
void foo() {
std::cout << "hello from member function" << std::endl;
}
};

int main()
{
bar b;
b.startFoo();
return 0;
}

это ссылка на сайт заявляет, что ошибка шины возникает, когда ваш процессор не может даже попытаться получить доступ к памяти. Но в моем коде я обращаюсь к собственной функции-члена класса в потоке. Я не могу объяснить, как это вызывает ошибку шины. Может ли кто-нибудь уточнить меня? Постскриптум Исходный код был кросс-скомпилирован на ОС Ubuntu, работающей на ПК с архитектурой x86, а двоичный файл был протестирован на Rasberry pi (ARM).

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]