c++ - 将向量传递给类的成员函数
问题描述
我正在尝试将向量传递给成员函数,但不断出现以下错误:
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
在类定义中的函数没有参数,但稍后您使用 undetermined type 的参数声明它time
。删除函数的参数,它time
无论如何都会看到,因为它们都是同一个类的成员。
推荐阅读
- ruby-on-rails - 在 rails 的 link_to 中使用带有 url 的 ENV 变量
- fortran - 多态元素数组中类型绑定过程的问题
- windows - SSH 要求用户密码而不是 ssh 密钥密码?
- node.js - AWS Elastic Beanstalk 工作进程在飞行中留下 SQS 消息
- excel - 在excel图表中显示跳过标记
- jquery - JQuery 从变量中删除输入
- java - 如何修复“handleWindowVisibility:令牌 android.os.BinderProxy 没有活动”?
- gitlab-api - REST API 一次在 gitlab 中创建多个组
- yarnpkg - 如何使用`add`安装多个纱线包?
- angular - 在 RxJS pipable 操作符之间传递数据的最佳方式?