У меня есть два класса один и два. Оба запускают темы. Второй класс - это выполнение функции, объявленной в первом классе. это можно сделать, вызвав его в методе run второго класса. Я пытаюсь вызвать / запустить поток Two в конструкторе one, чтобы оба эти потока работали вместе.
Я получаю ошибку области. Из-за отсутствия синтаксиса. код указан ниже
#include <QtGui>
#include<iostream>
using namespace std;
class One:public QThread
{
public:
One()
{
Two b; // error: 'Two' was not declared in this scope error: expected ';' before 'b'
b.start();//error: 'b' was not declared in this scope|
b.wait();
};
void run();
void beep();
};
void One::run()
{
}
void One::beep()
{
}
class Two:public QThread
{
public:
Two()
{
};
void run();
};
void Two::run()
{
One a;
a.beep();
}
int main(int argc,char* argv[])
{
One a;
a.start();
a.wait();
return(0);
}
Ошибки, приведенные в комментариях к коду:
ошибка: «Два» не было объявлено в этом
сфера применения
ошибка: ожидается ';' до 'b'
ошибка: 'b' не был объявлен в этом
Сфера
Какой синтаксис мне не хватает?