我在三个头文件之间有一个三向循环依赖关系,每个头文件中都有一个类。这是Agent2
课程的相关部分:
#ifndef BUYINGJEANS1_H
#define BUYINGJEANS1_H
class Agent2{
public:
Agent2(){}
double getAdvertisingFash(int currentTime, int sFash, int brand){
Agent1 agent1;
Agent3 agent3;
double probabilityOfChangingFashion = (exp((-advertisementArray[currentTime+1][brand]*pow(abs(min(fashionArray[brand]+1,4.0)-sFash),D))+(-alphaArray[2][2]*pow(abs(fashionArray[brand]-sFash),AArray[2][2]))) * (exp((-(agent1.alphaArray[2][1])*pow(abs((agent1.fashionArray[brand])-sFash),AArray[2][1]))))*(exp((-(agent3.alphaArray[2][3])*pow(abs((agent3.fashionArray[brand])-sFash),AArray[2][3])))))/getZScoreAdvertisingFash(currentTime,brand);
return probabilityOfChangingFashion;
}
#endif
Agent1
和类中存在等效函数Agent3
,除了Agent1
会使用Agent2
andAgent3
和Agent3
会使用Agent1
and Agent2
。
我知道前向声明在这里不起作用,因为我显然需要使用类的成员Agent2
和Agent3
. 当我在使用此代码的单独 cpp 文件中运行 main 函数时,我收到一个未声明的标识符错误 for Agent1
and Agent3
。
任何人都知道我可以如何以最简单的方式解决这个问题?