Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何调整作为结构或类成员的向量的大小?_C++_Class_Vector_Struct - Fatal编程技术网

C++ 如何调整作为结构或类成员的向量的大小?

C++ 如何调整作为结构或类成员的向量的大小?,c++,class,vector,struct,C++,Class,Vector,Struct,我已经编写了一个结构和类,我想知道如何使用从文本文件读取的值调整它们的大小。以下是结构和类: typedef struct Chrom // creating the chrom structure { vector<vector <short int> > bit; vector<vector <short int> > WaitingTime; //this is wij in the model vector<vector

我已经编写了一个结构和类,我想知道如何使用从文本文件读取的值调整它们的大小。以下是结构和类:

typedef struct Chrom // creating the chrom structure
{
  vector<vector <short int> > bit;
  vector<vector <short int> > WaitingTime; //this is wij in the model
  vector<vector <short int> > WaitingJob;//this is wj in the model, sigma wij must be equal to wj for each job J.
  vector<vector <short int> > StartTime;

  short int FinishTime;// finish time of each job in each machine
  int fit;
} chrom;    

但是我不能在类中调整向量的大小。关于如何在程序的类或结构中调整向量大小的任何建议?

您的问题至少部分在于如何调用它

void resize(){
    ProblemConstraint.Processing.resize(Machines);
}
应该是这样的:

void resize(){
    Processing.resize(Machines);
    // OR
    this->Processing.resize(Machines);
}

任何地方都没有名为“ProblemConstraint”的对象,这是一种类型,因此您不能对其使用

您的问题至少部分在于如何调用它

void resize(){
    ProblemConstraint.Processing.resize(Machines);
}
应该是这样的:

void resize(){
    Processing.resize(Machines);
    // OR
    this->Processing.resize(Machines);
}

任何地方都没有名为“ProblemConstraint”的对象,这是一种类型,因此您不能在其上使用

Kevin Anderson已解决了您的
类定义的问题-让我来解决结构定义问题:-

使用
typedef
时,您基本上所做的是定义
struct chrom
类型的
chrom
,因此您的
chrom.StartTime
是无效访问。在访问单个成员之前,必须实例化
chrom
类型的变量。。试试这个:-

chrom A;
A.StartTime.resize(10);

Kevin Anderson已经解决了您的
类定义问题-让我来解决结构定义问题:-

使用
typedef
时,您基本上所做的是定义
struct chrom
类型的
chrom
,因此您的
chrom.StartTime
是无效访问。在访问单个成员之前,必须实例化
chrom
类型的变量。。试试这个:-

chrom A;
A.StartTime.resize(10);

你得到什么错误?“TyBuffsStultCLSM”——在C++中,不需要那个代码> TyPufF,这是一个C-ISM.可能的重复-<代码>问题约束。处理< <代码>处理< /代码>有关您的问题:阅读基本教程。这是标准的东西。如果你在这里得到了一个直接的答案,这意味着你将在下一个任务中失败。阅读基本教程。也就是说,我建议您将代码放在CodeReview上。有几个问题。变量名称以大写字母、公共成员、未声明的参数为起始点,仅举几个例子。“TyBuffFraseCLSM”-您不需要C++中的“代码> TyPulf< /Cuff>”,这是一个C-ism。可能重复-
问题约束。处理
处理
关于您的问题:阅读基本教程。这是标准的东西。如果你在这里得到了一个直接的答案,这意味着你将在下一个任务中失败。阅读基本教程。也就是说,我建议您将代码放在CodeReview上。有几个问题。以大写字母开头的变量名、公共成员、未声明为常量的参数等等。“任何地方都没有名为“Processing”的对象”-您的意思是“ProblemConstraint”?@vu1p3n0x是。该死的打字错误。编辑“任何地方都没有名为“处理”的对象”-您的意思是“ProblemConstraint”?@vu1p3n0x是。该死的打字错误。编辑