【发布时间】:2020-09-06 04:26:38
【问题描述】:
我正在尝试将向量传递给成员函数,但不断出现以下错误:
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];
}
【问题讨论】:
-
您在
calcmass的定义中缺少time的类型说明符。你还有一个额外的;。 -
另外,main函数中的
time是什么? -
循环中的无条件返回使循环几乎无用。