これは簡単に修正できる問題のようですが、私は何か間違っています。同様のスレッドをすべて調べましたが、問題を解決するものは何も見つかりませんでした。
基本的に: C プログラムで、bufferevents の配列を作成しようとしています。
#include <event2/listener.h>
#include <event2/bufferevent.h>
#include <event2/buffer.h>
extern struct bufferevent bev[8];
//Then, my accept functions -- well, one of them...
static void accept1(struct evconnlistener *listener,
evutil_socket_t fd, struct sockaddr *address, int socklen,
void *ctx) {
/* A new connection was received on this port */
struct event_base *base = evconnlistener_get_base(listener);
bev[0] = bufferevent_socket_new(base, fd, BEV_OPT_CLOSE_ON_FREE);
/* Callback for when (*bufevent, data READ, data WRITTEN, event OCCURRED, *void) */
bufferevent_setcb(bev[0], read1, NULL, echo_event_cb, NULL);
}
コンパイルしようとすると (WITH -levent、追加する可能性があります)、次のエラーが発生します。
src/mix/mix1.c:57:34: error: array type has incomplete element type
何か案は?:(
注: main の外側で bufferevents を定義して、コード内のどこからでもアクセスできるようにしています。このエリアには他にも #define があります。