我有一个struct(可以是类),并在另一个类中定义,如图所示
struct A{ somedata_A; somespecificimplementation_A(someclass *S1); }; class someclass{ somedata_someclass; A a; }; main(){ someclass c1,*c2; c2 = &c1; c1.a.somespecificimplementation_A(c2); }
如何确认c2确实是c1的参考?赦免我举出这个例子,显然c2是c1的参考.
更新:A不存储指向someclass的指针
解决方法
如果你对父母不了解,比较会员的地址
void A::somespecificimplementation_A(someclass *S1) { if (this == &(S1->a)) { // parent == S1 } else { // parent != S1 } }