Я пытаюсь реализовать класс, который имеет указатели для членов класса и методы, которые возвращают указатели, но при компиляции я получаю «синтаксическая ошибка: отсутствует»; перед «*» и «отсутствующим спецификатором типа - предполагается int. Примечание: C ++ не поддерживает ошибки default-int»
Вот код:
Main.cpp:
#include "AClass.h"
#include "BClass.h"
int main ( int argc, const char* argv[] )
{
AClass a;
BClass b;
return 0;
}
AClass.h:
#ifndef ACLASS_H
#define ACLASS_H
#include "BClass.h"
class AClass
{
public:
BClass* getB ();
void setB (BClass* inst);
private:
BClass* b;
};
#endif
BClass.h:
#ifndef BCLASS_H
#define BCLASS_H
#include "AClass.h"
class BClass
{
public:
AClass* getA ();
void setA (AClass* inst);
private:
AClass* a;
};
#endif
Я даже не выделил классы с помощью файлов cpp и получаю строку ошибок:
Неважно, если я создаю файлы C ++ и определяю все, эти ошибки остаются.
1>------ Build started: Project: memberUDFpointers, Configuration: Debug Win32 ------
1> Main.cpp
1>e:\documents\cpp projects\memberudfpointers\memberudfpointers\bclass.h(9): error C2143: syntax error : missing ';' before '*'
1>e:\documents\cpp projects\memberudfpointers\memberudfpointers\bclass.h(9): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>e:\documents\cpp projects\memberudfpointers\memberudfpointers\bclass.h(9): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>e:\documents\cpp projects\memberudfpointers\memberudfpointers\bclass.h(9): warning C4183: 'getA': missing return type; assumed to be a member function returning 'int'
1>e:\documents\cpp projects\memberudfpointers\memberudfpointers\bclass.h(10): error C2061: syntax error : identifier 'AClass'
1>e:\documents\cpp projects\memberudfpointers\memberudfpointers\bclass.h(12): error C2143: syntax error : missing ';' before '*'
1>e:\documents\cpp projects\memberudfpointers\memberudfpointers\bclass.h(12): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>e:\documents\cpp projects\memberudfpointers\memberudfpointers\bclass.h(12): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Я просмотрел много разных постов повсюду, но все еще чищу голову этим.
Кто-нибудь может дать мне подсказку?