当前位置: 技术问答>linux和unix
请教declared as function returning a function的问题
来源: 互联网 发布时间:2016-03-06
本文导语: 我的代码为: igraph_isohandler_t myfunction(igraph_vector_t *arg1, igraph_vector_t *arg2, igraph_real_t arg3[][2]) { return(0); } 则编译时总是出错: error: 'myfunction' declared as function returning a function 但是如果我定义C默认的数据...
我的代码为:
igraph_isohandler_t myfunction(igraph_vector_t *arg1, igraph_vector_t *arg2, igraph_real_t arg3[][2])
{
return(0);
}
则编译时总是出错:
error: 'myfunction' declared as function returning a function
但是如果我定义C默认的数据类型(如int)的函数则没有错误。
同时我在主程序中调用此函数如下:
igraph_real_t fixmap[20][2];
//Todo: 对fixmap数组赋值
igraph_subisomorphic_function_vf2(&marg1, &marg2, NULL, &marg4, &myfunction, fixmap);
此处也会出现编译错误:warning: passing argument 5 of 'igraph_subisomorphic_function_vf2' from incompatible pointer type
前述以igraph_开头的为我调用的外接函数库的函数或数据类型。
事情很急,请高人指点!
igraph_isohandler_t myfunction(igraph_vector_t *arg1, igraph_vector_t *arg2, igraph_real_t arg3[][2])
{
return(0);
}
则编译时总是出错:
error: 'myfunction' declared as function returning a function
但是如果我定义C默认的数据类型(如int)的函数则没有错误。
同时我在主程序中调用此函数如下:
igraph_real_t fixmap[20][2];
//Todo: 对fixmap数组赋值
igraph_subisomorphic_function_vf2(&marg1, &marg2, NULL, &marg4, &myfunction, fixmap);
此处也会出现编译错误:warning: passing argument 5 of 'igraph_subisomorphic_function_vf2' from incompatible pointer type
前述以igraph_开头的为我调用的外接函数库的函数或数据类型。
事情很急,请高人指点!
|
igraph_isohandler_t是什么类型,仿佛是个函数指针,如果只是return 0,函数类型用int就行了。
下面的那个warning就说明你的myfunction的类型不对。
下面的那个warning就说明你的myfunction的类型不对。
|
return (igraph_isohandler_t)0;
|
return 0;