Я пытаюсь реализовать API, который позволит пользователю создавать два канала связи параллельно.Один канал использует TCP, а другой - UDP.У меня есть два класса, представляющих два канала.В этих классах реализованы разные функции.Я бы хотел, чтобы функции двух каналов работали параллельно.Для этого я использую std::thread
для создания двух потоков, по одному для каждого канала (класса).Идея состоит в следующем. Файл заголовка выглядит как
class Channel_1
{
public:
int myfunc(int a, int b);
};
class Channel_2
{
public:
int anotherfunc(int a, int b);
};
В основной файл cpp включается файл заголовка
int main()
{
int a = 10, b = 20;
Channel_1 ch1;
Channel_2 ch2;
std::thread t(ch1.myfunc, a,b);
return 0;
}
Я получаю сообщение об ошибке, говорящее, что ни один экземпляр конструктора std::thread
существует.
У меня есть следующие вопросы.
- Разве мы не можем вызывать функции из класса в конструкторе потоков?
- Имеет ли эта идея использовать потоки для вызовафункции из разных классов имеют смысл?