如何将void函数(void)作为参数传递给另一个函数c
我有一个函数void readline()
,它输出一个字符串,我想将它作为一个函数传递给另一个函数参数,我该怎么做,如何将void函数(void)作为参数传递给另一个函数c
感谢您的任何帮助。
int scorecount(argc1, argv1, void readline());
void readline();
int main(int argc, char *argv[]){
scorecount(argc,argv);
}
int scorecount(argc1, argv1, void readline()){
output a int
and I want to use the string from readline function somewhere in
scorecount
}
void readline(){
output a string
}
您可以使用该参数的任何名称将该参数声明为函数声明。例如
void another_function(void readline(void));
而且功能another_function
可以这样调用
another_function(readline);
编译器调整函数声明函数指针。所以上面的声明等效于
void another_function(void (*readline)(void));
编辑:你再更新你的代码后,函数应该声明如下
int scorecount(int argc, char * argv[], void readline(void));
void readline(void);
,并呼吁像
scorecount(argc, argv, readline);
我对堆栈溢出非常陌生,我怎样才能把我的代码放在这里,以便你们可以看到它? –
@胡云飞我的答案不清楚还是你还有一个问题? –
我想将readline func传入一个已经通过参数argc和argv的函数中,并且我应用了你的解决方法,出现错误 –
你需要表现出更多的代码,你的问题不清楚,因为它站在这里。或者你可能需要阅读你的C文本书。 –
你是说readline会给你输出字符串,你想传递给另一个函数,那个readline函数的返回类型应该是“string” –
也许你想[GNU readline](http://cnswww.cns.cwru。 edu/php/chet/readline/rltop.html)但它不会返回一个'void' –