10
const int buf_length = 255;
char buf[ buf_length + 1 ];

snprintf(buf, buf_length, "%d Next on [%s] %s:", channel, station_channel(channel), station_name(channel));

strncat(buf, "(", buf_length - strlen (buf));
strncat(buf, station_country( xmltv ), buf_length - strlen(buf));
strncat(buf, ")", buf_length - strlen (buf));

country_list_set_text( buf );

これは警告を受け取ります:

拡張として定数配列に折りたたまれた可変長配列。

これを解決するのを手伝ってもらえますか?

4

2 に答える 2

5

buf_length + 1、コンパイル時の定数式として扱われません。

2 番目の宣言を次のように置き換えます

char buf[256];

問題を修正する必要があります。

に置き換えることができbuf_lengthます#define

#define BUF_LENGTH 255
char buf[BUF_LENGTH + 1];
于 2013-08-26T01:11:48.377 に答える