是否有人在 Microsoft Visual Studio 2010 中使用 sockaddr_storage 时遇到内存损坏?这是我遇到问题的那种代码:
class Base
{
public:
Base(){a=1};
int a;
sockaddr_storage addr;
int b;
};
class Derived1 : public Base
{
public:
Derived1() {a=2};
int c;
}
class Derived2 : public Derived1
{
public:
Derived2() {a=3;};
int d;
}
在 Derived2 构造函数中,对象中“a”的偏移量为 4 个字节,将“a”设置为 3 会破坏内存。
问候,杜桑·穆德里克。