私はすべてを正しくやっていると思いますが、文字列は割り当てられている文字で埋められていません。私がテストで知っているのは、randomは正しい文字、qは正しいint、s [i] .nameは文字列です。私は.at(q)と[q]を使ってみましたが、何も動いていません。それがなら 中止(ダンプコア)at()は機能していません
for (int i = 0; i < num; i++) {
int q = 0;
char random = 50;
for (; random != 32;) {
file.get(random);
s[i].name.at(q) = random;
q++;
}
q = 0;
}
cout << s[0].name;
rvalに 'char'を割り当てようとしているように見えます(rvalは存在しません)。 –
あなたのロジックによれば、 'q'は' s [i] .name'が文字を持つよりも大きな値を持つことができます。 –