Visual c++ VC++;2010 C2061错误

Visual c++ VC++;2010 C2061错误,visual-c++,Visual C++,我在线上收到VC++2010 C2061错误: #include "queryevaluator_p.h" class QueryEvaluator { public: vector<AttrValue>* getCandidateList(QueryClause cl, int pos, ResultSet *computedRes); ... 这里怎么了?结果集可以在其他地方使用可能您有循环包含(queryevaluator\u p.h再次包含主标题)导致混淆。根据具

我在线上收到VC++2010 C2061错误:

#include "queryevaluator_p.h"

class QueryEvaluator {
public:
    vector<AttrValue>* getCandidateList(QueryClause cl, int pos, ResultSet *computedRes);
...

这里怎么了?结果集可以在其他地方使用

可能您有循环包含(
queryevaluator\u p.h
再次包含主标题)导致混淆。根据具体的设置,这可能会导致这种效果,因为其中一个文件必须先编译

解决方案是通过在一个位置使用前向声明而不是包含来解决循环依赖关系。例如,您可以转发declare
struct ResultSet
,而不包括
queryevaluator\u p.h

struct ResultSet{ //a set of result
    bool valid;
    vector<ResultRow> rows;
};