我已经编写了一个结构和类,我想知道如何使用从文本文件中读取的值来调整它们的大小。这是结构和类:
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;
在程序中我读取了一个数字,它是 m。
但是在程序中,当我尝试使用 chrom.ShortTime.resize(m)
时。它给了我一个错误。甚至我也试过这样写一个类:
class ProblemConstraint{
short int Jobs, Machines;
public:
vector <short int> Processing;
vector <short int> t1;
vector <short int> t2;
short int M;
short int W;
void set_values(int, int);
void resize(){
ProblemConstraint.Processing.resize(Machines);
}
}ProblemConstraint;
但我无法调整类中 vector 的大小。关于如何在程序的类或结构中调整 vector 大小的任何建议?
最佳答案
您的问题至少部分在于您如何调用它。
void resize(){
ProblemConstraint.Processing.resize(Machines);
}
应该是这样的:
void resize(){
Processing.resize(Machines);
// OR
this->Processing.resize(Machines);
}
任何地方都没有名为“ProblemConstraint”的对象,这是一种类型,因此您不能在其上使用 .
。
关于c++ - 如何调整作为结构或类成员的 vector 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45175820/