0

我想找到结构的数据成员之一的地址,但我无法访问它的变量。是否有不需要我以任何方式更改结构的解决方案?

h 文件

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循环内部

printf("Address: 0x%x, Value of b: %x \n",&r2[i]->b, r[i].r=0x50);

我在 &r2[i]->b; 处收到错误消息

还有一些代码审查会很好:) 我计划输出带有填充的 C 结构的值

4

1 回答 1

0

您似乎发布了一个 C++ 类而不是 C 结构。

这里

类的私有成员只能从同一类的其他成员或他们的朋友访问。

因此,要回答您的问题,您不能在不修改类本身的情况下从类外部访问这些私有成员(例如,包括公共访问器)。

于 2013-10-04T01:58:21.570 回答