33,311
社区成员
发帖
与我相关
我的任务
分享
struct Test {
set<int> *s;
};
void test(Test *t);
int main() {
Test *t = (Test*) malloc(sizeof(Test));
if (t->s) {
set<int> s = *t->s;
s.insert(1);
s.insert(2);
} else {
set<int> ss;
ss.insert(1);
ss.insert(2);
ss.insert(3);
ss.insert(4);
ss.insert(5);
ss.insert(6);
ss.insert(7);
ss.insert(8);
ss.insert(9);
ss.insert(10);
t->s = &ss;
}
test(t);
}
void test(Test *t) {
set<int> s = *(t->s); // 挂在这里
set<int>::iterator si;
for (si = s.begin(); si != s.end(); si++) {
printf("%d\n", *si);
}
}