会员请求...非类型

时间:2017-09-12 09:38:55

标签: c++ class member

我收到错误

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();
}

还有其他课程,但我不认为,他们会导致问题。你知道吗,我做错了什么?如果您需要更多信息,请告诉我。在我看来,这不是通常的&#34;成员&#34; -constructor-problem的请求。但也许我错了......

1 个答案:

答案 0 :(得分:1)

这看起来很狡猾:

corMatrixFermion cor(MatrixV V);

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

corMatrixFermion cor(V);