C++ 将向量传递给类的成员函数

C++ 将向量传递给类的成员函数,c++,function,vector,C++,Function,Vector,我试图将向量传递给成员函数,但不断出现以下错误: 27 28[错误]“双装备::calcmass”不是“装备类”的静态成员 13 19[错误]非静态数据成员'equip::time'的使用无效 27 24此位置的[错误] 28 1[错误]在“{”标记之前应为非限定id 我怎样才能纠正这个问题 #include <cmath> #include <cstring> #include <fstream> #include <iostream> #inc

我试图将向量传递给成员函数,但不断出现以下错误:

27 28[错误]“双装备::calcmass”不是“装备类”的静态成员

13 19[错误]非静态数据成员'equip::time'的使用无效

27 24此位置的[错误]

28 1[错误]在“{”标记之前应为非限定id

我怎样才能纠正这个问题

#include <cmath>
#include <cstring>
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;

class equip
{
    public:
        vector <double> time;
        vector <double> mass;
        vector <double> velocity;
        vector <double> height;
        double calcmass();
        double calcvelocity();
        double calcheight();
        double calctmax(); 
    private:
        double T = 7000;
        double g = 32.2;
        double K = 0.008;
};

double equip::calcmass(time);
{
    int i = 0;
    for(i=0; i<time.size(); i++)
    {
        return mass[i] = (3000 - 40 * time[i]) / g;
    }
}

int main()
{
    int i = 0;

    ifstream infile;
    string filename;
    cout<<"Enter input file name for time (t): ";
    cin>>filename;
    infile.open(filename.c_str());

    while(infile.fail())
    {
        cerr<<"Error opening file. \n";
        cout<<"Enter file name: ";
        cin>>filename;
        infile.open(filename.c_str());
    }

    for(i=0; i<time.size(); i++)
    {
        infile>>time[i];
    }

您的代码无法运行,因为您定义了一个类equip,但从未在main中创建过它的实例,然后您尝试将文件内容读入类time的成员。此外,类定义中的函数calcmass没有参数,但后来您使用类型为Undefined time的参数声明了它。请删除函数的参数,它无论如何都会看到时间,因为它们都是同一个类的成员。

您在calcmass的定义中缺少时间的类型说明符。您还有一个额外的;。另外,主函数中的时间是什么?无条件返回循环使循环基本上没有用。