Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 这是循环依赖吗_C++_Circular Dependency - Fatal编程技术网

C++ 这是循环依赖吗

C++ 这是循环依赖吗,c++,circular-dependency,C++,Circular Dependency,这里是.cpp文件中.h文件的交叉包含。所以他们都互相依赖。尽管使用了向前声明和指针,但这似乎会打破这个循环。所以我的问题是:这是一个循环依赖吗?为什么?当A依赖于B时,反之亦然,根据定义,您具有循环依赖性。您可以让它使用转发声明这一事实并不会改变这一事实。您已经用转发声明打破了循环包含链,但a和B之间仍然存在逻辑循环依赖关系。它们都需要其他类提供的东西 关于您的上述评论,您永远不应该为向您的团队提出问题而感到羞耻。如果你发现自己错了,那么你就学到了一些东西。除了A::Stuff未定义之外,我看

这里是.cpp文件中.h文件的交叉包含。所以他们都互相依赖。尽管使用了向前声明和指针,但这似乎会打破这个循环。所以我的问题是:这是一个循环依赖吗?为什么?

A
依赖于
B
时,反之亦然,根据定义,您具有循环依赖性。您可以让它使用转发声明这一事实并不会改变这一事实。

您已经用转发声明打破了循环包含链,但a和B之间仍然存在逻辑循环依赖关系。它们都需要其他类提供的东西


关于您的上述评论,您永远不应该为向您的团队提出问题而感到羞耻。如果你发现自己错了,那么你就学到了一些东西。

除了A::Stuff未定义之外,我看不到任何问题。你有什么问题?在工作中,我的团队中有一些人称之为循环依赖。我不认为是这样,所以我想在说话之前再和别人核实一下。
//A.h  
class B;  
class A{  
  void Stuff();
  B* FOO():  
  B* _b;
}  
extern A* A_A();

//A.cpp  
#include "A.h"  
#include "B.h" 
B* A::FOO(){
  return(_b);
} 

//B.h
class B{
 void BOO();
}

//B.cpp
#include "A.h"
#include "B.h" 
void B::BOO(){
 A_A->Stuff();
}