我想找到一个结构的数据成员的地址,但是我无法访问它的变量。是否有一个解决方案,不要求我以任何方式更改结构?
h file
class C
{
private:
int x;
char b;
};
cpp文件。
char *p2 = new char[128];
memset(p2,'aa',128);
Test_C *r2 = new(p2) Test_C[3];
// for for loop
printf("Address: 0x%x, Value of b: %x \n",&r2[i]->b, r[i].r=0x50);
我在& r2 [i] - > b;
收到错误另外一些代码审查会很好:)我正在计划用填充输出C结构的值
答案 0 :(得分:0)
您似乎发布了C ++类而不是C结构。
来自here:
类的私有成员只能从其他成员访问 同一个班级的成员或他们的朋友。
因此,要回答您的问题,您无法在不修改类本身的情况下从类外部访问这些私有成员(例如,包括公共访问者)。