我在课堂上遇到问题:
struct game{
string cods;
string n;
string g;
int v;
game *p;
};
class list2 {
private:
game *pr;
game *a;
public:
list2() {
pr=a=NULL;
}
string& Acccods (game *p){ // I GOT THE ERROR IN THIS FUCTION.
return *p.cods;
}
};
无法编译,我不知道为什么。我“浪费”了几个小时试图修复它。
答案 0 :(得分:4)
您的问题源于*
vs .
运算符的运算符优先级。 .
优先,因此您最终会尝试在指针上使用.
运算符,该指针无效。相反,请使用p->cods
。