Прежде всего:
public:
Hello();
~Hello();
private:
public:
бессмысленно, класс по умолчанию является приватным, и нет необходимости делать это
Публичный дважды, и я не знаю, можете ли вы сделать это, кроме того, если у вас нет частных участников, там не должно быть личного (не пытайтесь быть грубым, просто совет) :-))
Теперь, чтобы ответить на вопрос (с предположением ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я НЕ 100% СЕМЬЯ С GCC):
Это ошибка компоновщика, это может быть связано с тем, что
компилятор не может найти определение
HelloWorld (пустоты) ;.
Позвольте мне объяснить:
В вашем заголовочном файле вы написали:
int HelloWorld(void);
Однако в вашем .cpp вы пишете:
int HelloWorld()
{
return 5;
}
Функция (или в этом случае метод, потому что он внутри класса)
аргументы должны быть одинаковыми в заголовке и источнике, вы
не может даже изменить имена (или, по крайней мере, вы не можете с VC ++, который
что я использую; У меня мало опыта с gcc), так что это может быть решаемо
набрав
int HelloWorld(void)
{
return 5;
}
Далее (ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ Я НЕ на 100% знаком с препроцессором):
Вы также используете тег #pragma pre-proccsor, я его не использую, но
Я полагаю, это означает, что вы можете включить файл только один раз, и вы включили Hello.h и Control.h дважды, как я сказал, я не эксперт в препроцессоре, но вы прокомментировали
HELLO_H
и
CONTROL_H