Ich habe eine Struktur und Klasse geschrieben, ich frage mich, wie kann ich sie mit dem Wert ändern, den ich aus einer Textdatei gelesen habe. Hier ist die Struktur und Klasse:Wie ändert man die Größe eines Vektors, der Mitglied der Struktur oder Klasse ist?
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;
In dem Programm lese ich eine Zahl, die m ist. Aber im Programm, wenn ich versuche, chrom.ShortTime.resize(m)
zu verwenden. Es gibt mir einen Fehler. Auch habe ich versucht, eine Klasse wie folgt zu schreiben:
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;
Aber ich kann nicht die Vektoren innerhalb einer Klasse ändern. Gibt es eine Empfehlung, wie ich einen Vektor innerhalb einer Klasse oder Struktur im Programm skalieren kann?
Welche Fehler bekommen Sie? – NathanOliver
"typedef struct Chrom" - Sie brauchen das 'typedef' nicht in C++, das ist ein C-ism. –
Mögliches Duplikat - https://stackoverflow.com/questions/37229215/how-to-resize-a-2d-vector-of-struct – JazzSoft