Указатель на указатели структуры и функции - > Ошибка раздела

При выполнении этой программы тестирования всегда возникает ошибка сегментации. Я не могу понять почему. Может быть, кто-то мог бы объяснить мне это, пожалуйста, я уверен, что перепутал указатель.

#include 

struct xy {
    int         (*read)();
    void        (*write)(int);
};

struct z {
    struct xy    *st_xy;
};


static void write_val(int val)
{
    printf("write %d\n", val);
}

static int read_val()
{
    /* return something just for testing */
    return 100;
}

int init(struct xy *cfg)
{
    cfg->read = read_val;
    cfg->write = write_val;
    return 0;
}

int reset(struct z *st_z)
{
    /* write something just for testing */
    st_z->st_xy->write(111);

    return 55;
}

int main(int argc, char **argv)
{
    static struct z test;
    int ret;
    int ret2;

    ret = init(test.st_xy);
    printf("init returned with %d\n", ret);

    ret2 = reset(&test);
    printf("reset returned with %d\n", ret2);

    return 0;
}

-121--854030-

Как получить значение другого компонента в пользовательском средстве проверки? [дубликат] Я использую пользовательский средство проверки. Сложность в том, что мне просто нужно проверить два поля inputText и сравнить их. Первое поле должно быть больше второго поля. Если нет, то я должен показать...

Я использую пользовательский средство проверки. Сложность в том, что мне просто нужно проверить два поля inputText и сравнить их. Первое поле должно быть больше второго поля. Если нет, то я должен показать сообщение с информацией об ошибке. Поэтому мне нужно передать в мой пользовательский валидатор значение первого поля inputText. Для этого необходимо прочитать значение первого поля InputText в классе валидатора. Как получить идентификатор необходимого компонента в классе валидатора? Решение, использующее тэг, меня не устраивает. Я должен пойти в желаемый компонент, непосредственно, Возможно, это может быть сделано через какие-либо методы FacesContext?

6
задан Brian Tompsett - 汤莱恩 13 June 2015 в 20:15
поделиться