1个回答
展开全部
///////在别的地方找的,看看///////////
C++标准没规定其可以,而某些编译器可能增加了此功能,但毕竟是非标准的。
但你可以使用
函数对象
替代
函数。
以下代码通过
dev-cpp4992
和
vc++2005
的编译测试:
int
fun1(
int
a,
int
b,
int
c
)
{
struct
fun2
{
int
operator()(
int
a,
int
b
)
{
return
a+b;
}
}
fun2;
return
fun2(a,b)+c;
}
#include
<iostream>
int
main()
{
std::cout
<<
fun1(1,2,3)
<<
std::endl;
return
0;
}
C++标准没规定其可以,而某些编译器可能增加了此功能,但毕竟是非标准的。
但你可以使用
函数对象
替代
函数。
以下代码通过
dev-cpp4992
和
vc++2005
的编译测试:
int
fun1(
int
a,
int
b,
int
c
)
{
struct
fun2
{
int
operator()(
int
a,
int
b
)
{
return
a+b;
}
}
fun2;
return
fun2(a,b)+c;
}
#include
<iostream>
int
main()
{
std::cout
<<
fun1(1,2,3)
<<
std::endl;
return
0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询