C++ 班级成员讨论出口问题

C++ 班级成员讨论出口问题,c++,class,dll,export,C++,Class,Dll,Export,当使用DLL或代码注入时,请具体说明 这是一个示例类,仅用于解释 class test { int newint1; char newchararray[512]; void (*newfunction1)( int newarg1 ); int newfunction2( bool newarg1, char newarg2 ) { return newint1; } } mynewclass1; 这涵盖了类中包含的最常见元素

当使用DLL或代码注入时,请具体说明
这是一个示例类,仅用于解释

class test
{
    int newint1;
    char newchararray[512];
    void (*newfunction1)( int newarg1 );
    int newfunction2( bool newarg1, char newarg2 )
    {
        return newint1;
    }
} mynewclass1;
这涵盖了类中包含的最常见元素
现在将此函数导出到另一个DLL或应用程序时
并且遗漏了其中的一个元素,数据成员或功能成员,私有或公共
发生了什么或改变了他们的顺序?
如果每个函数在代码注入时都被赋值

 mynewclass1.newfunction1 = (void *)(newexportedfunction);

如果类的成员是在类构造之后分配的指针,然后错过了一个成员或更改了它们的顺序,那么在这种情况下会发生什么

我想您忘了添加公共:(:)

mynewclass1在加载时静态初始化为零(除非您使用的是非常旧的windows版本)。
如果向类中添加构造函数,则行为将变得不可预测,因为很难知道何时有效初始化静态(至少是链接时间依赖项)。

请注意,我看到未定义的行为正在向您袭来。当然希望不会。。知道我期待的是什么样的行为真的很重要