C++ &引用;不为类型命名";从类引用typedef时出错
我对类中的typedef有如下定义C++ &引用;不为类型命名";从类引用typedef时出错,c++,compiler-errors,typedef,C++,Compiler Errors,Typedef,我对类中的typedef有如下定义 /* *ReportData.h */ class ReportData { public: /** Classifiers information **/ typedef struct{ char *classifier; uint8_t numCategories; char **categories; int *ranges;
/*
*ReportData.h
*/
class ReportData {
public:
/** Classifiers information **/
typedef struct{
char *classifier;
uint8_t numCategories;
char **categories;
int *ranges;
} Classification;
};
此代码稍后引用如下
/*
* DynamicCarDetection.cpp
*/
#include <DataReport.h>
int numOfClassGroups = 1;
int numOfCategories = 2;
ReportData::Classification *vehiclesClassificators;
vehiclesClassificators = new ReportData::Classification[numOfClassGroups];
vehiclesClassificators[i].numCategories = NumOfcategories;
vehiclesClassificators[i].categories = new char *[numOfcategories];
每次引用车辆分类时都会出现此错误
DynamicCarDetection.cpp:12:1:错误:“Vehicles Classificators”不存在
命名类型
看起来是名称范围界定的一个明显错误,但我一直在努力理解问题是什么,因为显然,typedef ReportData::Classification正在被识别
在C++中,预先感谢 < P>,句子(除了一些角的情况)必须是函数体的一部分。在您的CPP文件中没有,因此编译器会对您正在做的事情感到困惑
#include <DataReport.h>
void DoThings()
{
int numOfClassGroups = 1;
//....
}
#包括
void DoThings()
{
int numOfClassGroups=1;
//....
}
是DynamicCarDetection.cpp
中某些函数中的所有语句吗?此外,为什么当代码为C++时,为什么使用GCC?为什么在C++中使用<代码> TyPufFrase?新手这不是一个借口,但它来自于进行测试,试图使结构数组的静态初始化工作,因此代码在定义部分结束。
#include <DataReport.h>
void DoThings()
{
int numOfClassGroups = 1;
//....
}