struct prediction
{
int p1;
int p2;
};
struct player
{
vector <prediction> p;
int score=0;
string name;
};
int winner (player pla, prediction pred, int i)
{
if (pla.p[i].p1 >= p.p1)
{
pla.p[i].score +=10;
return 1;
}
return 0;
}
錯誤發生在pla.p[i].p1
贏家函數錯誤爲p未在此範圍內聲明。我認爲結構中的元素未在此範圍內聲明
問題在於結構player
和predection
之間的關係。
任何人都可以找到問題嗎?
你認爲'p'是指'p.p1'嗎? –
您錯誤地識別了錯誤的位置。錯誤信息是關於'> ='後的'p.p1',而不是之前的'pla.p [i] .p1'。分號和逗號之前的空格通常被認爲是不可取的,並且不規則的縮進也是很不理想的。 –
問題出在操作員的另一邊。什麼是'p.p1'應該是?範圍內沒有變量'p'。 – ApproachingDarknessFish