“.”:若左操作数指向“class-key”,则使用“->”
成员选择操作 (.) 左侧的操作数是指针,而不是类、结构或联合。
下面的示例生成 C2231:
// C2231.c
struct S {
int member;
} s, *ps = &s;
int main() {
ps.member = 0; // C2231
// OK
ps->member = 0; // crash
s.member = 0;
}
“.”:若左操作数指向“class-key”,则使用“->”
成员选择操作 (.) 左侧的操作数是指针,而不是类、结构或联合。
下面的示例生成 C2231:
// C2231.c
struct S {
int member;
} s, *ps = &s;
int main() {
ps.member = 0; // C2231
// OK
ps->member = 0; // crash
s.member = 0;
}