以下代码非常简单,给出了这个错误:
[错误]嵌套名称说明符
中使用的不完整类型“C_1”
我有两个相互交互的类,调用自己的方法。 使用此代码,我无法调用C1 :: test(),因为它似乎没有找到。 任何帮助表示赞赏。
C1.h:
#ifndef C1
#define C1
#include <iostream>
using namespace std;
#include "C2.h"
class C_1{
private:
static C_2* c2;
public:
static void test();
};
#endif
C1.cpp:
#include "C1.h"
C_2* C_1::c2=new C_2();
void C_1::test(){
cout << "C_1 test() method called." << endl;
C_1::c2->test();
}
C2.h:
#ifndef C2
#define C2
class C_1;
class C_2{
public:
C_2();
void call();
void test();
};
#endif
C2.cpp:
#include "C2.h"
C_2::C_2(){}
void C_2::call(){
C_1::test();
}
void C_2::test(){
cout << "C_2.test() method called!" << endl;
}