当我想让一个函数返回刚刚定义的struct
类型的 vector 时,在类中设置函数时遇到麻烦。编译器给出“使用未声明的标识符”错误。
在.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
是什么,尽管事实上它是在函数之前声明的? 最佳答案
这仅仅是查找的问题。您需要完全限定名称,例如vector<DeltaKinematics::workingPoint> DeltaKinematics::calculateWorkingPointCloud(){...
我对这个问题here提出了类似的问题。也许对您来说也很有趣。