C++ 将向量传递给类的成员函数
我试图将向量传递给成员函数,但不断出现以下错误: 27 28[错误]“双装备::calcmass”不是“装备类”的静态成员 13 19[错误]非静态数据成员'equip::time'的使用无效 27 24此位置的[错误] 28 1[错误]在“{”标记之前应为非限定id 我怎样才能纠正这个问题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
#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的定义中缺少时间的类型说明符。您还有一个额外的;。另外,主函数中的时间是什么?无条件返回循环使循环基本上没有用。