当我想让一个函数返回刚刚定义的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提出了类似的问题。也许对您来说也很有趣。

10-05 18:13