我相信我所做的一切都是正確的,但字符串沒有被分配的字符填充。這是我通過測試得知的: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'具有更大的值。 –