我正在写一个小型的Web路由器。我想写一个名为findRoute
的通用函数,它接受一个字符串作为路由名称和一个要搜索的结构数组。
router.c
struct route
{
char *routeName;
int routeId;
};
int findRoute(char find[], struct route list[])
{
// do some strcmp
// return id of found route
}
它会像这样使用
subRouter.c
enum someRoutes
{
Route1,
Route2
};
struct route someRoute[] = {
{"route1", Route1},
{"route2", Route2}
}
int routeId = findRoute("route1", someRoute);
switch(routeId){
//etc
}
我收到错误
array type has incomplete element type
但只能在我的H文件中看起来像
router.h
int findRoute(char find[], struct route list[]);
我的猜测是我没有给list
参数一个大小,但是当我这样做时似乎并不重要。
答案 0 :(得分:0)
将结构路径定义从struct route
{
char *routeName;
int routeId;
};
移动到标题:
router.h:
router.h
并在subRouter.c
中添加onCreate()
。