-1

请帮我解释一下意外崩溃!!!我有:

xh

class x: QObject
   struct
    {
        struct
        {
            struct
            {
                int state;
                double curstring;
                QTimer timer_scroll;
                QTimer timer_done;
            }color;
            struct
            {
                int state;
                double curstring;
                QTimer timer_scroll;
                QTimer timer_done;
            }mono;
        }S2L_NOTIFY;

....ETC

x.cpp

void x::draw(const int type, QString str, bool isNeedAnswer)
{
    if(type == 3)
    {
        //here is crash!
        if(bitmap.S2L_NOTIFY.mono.state == 3 &&  bitmap.S2L_NOTIFY.color.state == 3)
        {

if((bitmap.S2L_NOTIFY.mono.state == 3))-<这里不会崩溃

if((bitmap.S2L_NOTIFY.color.state == 3)) -<这里不会崩溃

请告诉我我错在哪里或编译器错了?

4

1 回答 1

1

问题是您的条件中有 x,但该函数x::rndfunc()是 x 类的成员函数......而不是变量。它应该是:

// "this" refers to the current instance of class x
if((this->y.z.f.nmb2 == NOTOK) && (this->y.z.f.nmb1 == NOTOK))

或者简单地说:

// but the "this" isn't actually necessary
if((y.z.f.nmb2 == NOTOK) && (y.z.f.nmb1 == NOTOK))

(如你所写)。

编辑:好的,所以原来的问题中有一个错字,所以上面的内容不再相关。新的答案是:

f没有成员变量nmb1,只有nmb2

编辑#2:更多错别字。我的新答案:

你正在尝试做的事情看起来真的很混乱。不要这样做。

于 2012-04-21T00:49:26.177 回答