我有两个类:Clique和Graph, 当我尝试在Graph类中创建“Clique c”时,VS给了我两个错误:
错误C2065:'Clique':未声明的标识符 错误C2065:'c':未声明的标识符
我试图解决它很长一段时间而且我被卡住了,请帮助我。 这是我的代码:
Clique:http://pastebin.com/jw3FQv95 图表:http://pastebin.com/bwLakmY0
感谢。
答案 0 :(得分:1)
您有循环收录,Graph.hpp
包括Clique.hpp
,Clique.hpp
包含Graph.hpp
。
由于要在Graph类中分配Clique,你需要知道它的完整定义,你被迫在一个单独的源文件(Graph.cpp
)中移动需要它的方法,这样你就会有类似
/* Clique.hpp */
#include "Graph.hpp"
class Clique { ... }
/* Graph.hpp */
// possibly a forward declaration to Clique here
class Graph {
...
Graph(const std::string &file, const double &th, const bool &debug, const bool &convert, const int &max_clique);
};
/* Graph.cpp */
#include "Clique.hpp"
Graph::Graph(const std::string &file, const double &th, const bool &debug, const bool &convert, const int &max_clique)
{
...
}