得到一个"初始化元素不是编译时"使用Clang 3.0编译coreutils库时出错

时间:2015-01-15 09:47:16

标签: c compilation clang

以下C代码是GNU coreutils中lib的一部分(单击here)。

我使用Clang(版本3.0)得到了一个编译错误,如下所示:

  

localecove.c:73:5:错误:初始化元素不是编译时   恒定

(注意,使用评论表示第73行)

我很困惑,怎么回事!?或者编译器有问题吗?

#include <limits.h>

struct lconv *
localeconv (void)
{
    static /*const*/ struct lconv result = 
    {/*Line 73*/ 
        /* decimal_point */ ".",
        /* thousands_sep */ "",
        /* grouping */ "",
        /* mon_decimal_point */ "",
        /* mon_thousands_sep */ "",
        /* mon_grouping */ "",
        /* positive_sign */ "",
        /* negative_sign */ "",
        /* currency_symbol */ "",
        /* frac_digits */ CHAR_MAX,
        /* p_cs_precedes */ CHAR_MAX,
        /* p_sign_posn */ CHAR_MAX,
        /* p_sep_by_space */ CHAR_MAX,
        /* n_cs_precedes */ CHAR_MAX,
        /* n_sign_posn */ CHAR_MAX,
        /* n_sep_by_space */ CHAR_MAX,
        /* int_curr_symbol */ "",
        /* int_frac_digits */ CHAR_MAX,
        /* int_p_cs_precedes */ CHAR_MAX,
        /* int_p_sign_posn */ CHAR_MAX,
        /* int_p_sep_by_space */ CHAR_MAX,
        /* int_n_cs_precedes */ CHAR_MAX,
        /* int_n_sign_posn */ CHAR_MAX,
        /* int_n_sep_by_space */ CHAR_MAX
    };

    return &result;
}

0 个答案:

没有答案