请求会员..非课程类型

request for member ... which is of non-class type

本文关键字:类型 程类型 请求      更新时间:2023-10-16

我得到错误

main.cpp: In function 'int main()':
main.cpp:43:16: error: request for member 'getF' in 'cor', which is of non-class type 'corMatrixFermion(MatrixV)'
  myfile << cor.getF;
                ^

这是我班级的标题:

class MatrixV{
  public:
    MatrixV(std::string file);
    MatrixV(Eigen::MatrixXd matrix);
    MatrixV(double arr[], int arrsize);
    Eigen::MatrixXd getV();
    Eigen::VectorXd getSigma();
    int getr(); 
    Eigen::MatrixXd getO1();
    Eigen::MatrixXd getO2();
    Eigen::MatrixXd getE(); 
    Eigen::MatrixXd getVStrich();
private:
    int size;
    Eigen::MatrixXd V;
    Eigen::VectorXd Sigma;
    int r;
    Eigen::JacobiSVD<Eigen::MatrixXd, Eigen::NoQRPreconditioner> svd;
};

和这里的main.cpp

int main(){
std::srand(time(0));
DataFromFile StartValues("StartValues");
double arr[4];
arr[0]  = StartValues.get(1);
arr[1]  = StartValues.get(2);
arr[2]  = StartValues.get(3);
arr[3]  = StartValues.get(4);
MatrixV V(arr, 4);
corMatrixFermion cor(MatrixV V);
std::ofstream myfile;
myfile.open ("corfunction.txt");
myfile << cor.getF();
myfile.close();
}

还有其他班级,但我不认为它们会导致问题。你看到,我做错了什么?如果您需要更多信息,请告诉我。在我看来,这不是通常的"成员请求" - 构造官 - 问题。但是也许我错了...

这看起来很狡猾:

corMatrixFermion cor(MatrixV V);

这将cor声明为一个函数。您可能打算将V传递给corMatrixFermion构造函数:

corMatrixFermion cor(V);