当我想让函数返回一个我刚刚定义的struct
类型的向量时,我在类中设置函数时遇到了问题。编译器提供“使用未声明的标识符”错误。
在.h文件中:(没有给出错误)
struct workingPoint;
public:
vector<workingPoint>calculateWorkingPointCloud();
在.cpp文件中:
struct DeltaKinematics::workingPoint {
int x, y, z;
//more stuff to come
};
vector<workingPoint> DeltaKinematics::calculateWorkingPointCloud(){ //error here is "Use of undeclared identifier 'workingPoint'
}
似乎编译器不知道workingPoint
是什么,尽管它是在函数之前声明的事实?
答案 0 :(得分:3)
您定义了结构DeltaKinematics::workingPoint
,然后尝试返回结构workingPoint
。你需要明确的资格。
答案 1 :(得分:3)
这只是查找的问题。您需要完全限定名称,例如
vector<DeltaKinematics::workingPoint> DeltaKinematics::calculateWorkingPointCloud(){...
我问了一个关于这个问题的类似问题here。也许它对你来说也很有趣。