c++中,在函数内是否可以再定义一个函数?

如题所述

不能直接定义,但可以通过函数对象实现。

void fun()
{
struct nestfun
{
void operator()(int val)
{
std::cout << val;
}
}

// 函数对象
nesetfun fun;
fun(10);

}。

返回值是-1或者0, 常用来 表示 函数体执行状态,例如, 函数体执行 失败返回值是-1 或 成功返回值是0。当然也可以表示别的意思,由程序员规定。

例如:

int work(参数1,参数2){

int flag=0;

...

if ( (参数1==0) && (参数2== 0)) flag = -1;

。。。

return flag;

}

=======

handle() {。。。。。。;

status = work(参数1,参数2);

if (status == -1) printf("函数调用失败");
。。。。。}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-02
不能直接定义,但可以通过函数对象实现,
void fun()
{
struct nestfun
{
void operator()(int val)
{
std::cout << val;
}
}

// 函数对象
nesetfun fun;
fun(10);

}