为什么在C ++中返回类型不能是函数类型而是函数指针?

弯曲
int method1() {
    return 0;
}

decltype(method1) method2() {
    return method1;
}

我编译我的代码,得到一个错误:'method2'声明为返回函数的函数,然后将返回类型更改为函数指针,它起作用了,我只想知道为什么会这样。

decltype(method1) *method2() {
    return method1;
}
纳瓦兹

在C ++中,无法返回函数和数组。这是语言的设计方式。

您必须返回指向它们的指针或引用。您已经尝试过使用指针,它可以工作。返回参考的以下内容也应起作用:

decltype(method1)& method2() {
   return method1;  
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

函数返回类型为bool时,为什么不能在C ++ 14中返回共享指针?

为什么C函数不能返回数组类型?

为什么在C ++中以bool类型打印函数指针地址?

为什么Flutter中的动态类型函数不能返回正确的类型?

在C中强制转换函数指针的返回类型

为什么这个模板函数不能识别 lamda 的返回类型?

为什么不能自动成为函数的返回类型?

为什么虚拟函数不能使用返回类型推导?

为什么我们不能将int变量与c中的int返回类型函数进行比较?

为什么不能从函数中获取Pandas细胞的类型?

从C#调用C dll中的函数,该函数将某种类型的指针返回到函数指针

如何调用返回许多类型的不同函数指针的C函数?

C 中函数指针的正确值类型

Kotlin类型擦除-为什么只编译通用类型不同的函数却不能编译仅返回类型不同的函数?

C++。如何返回空指针而不是函数返回类型?

为什么 C++ 不能单独从函数指针原型推导出模板类型参数,而不是作为一个包?

为什么我的函数的返回类型是 a -> Int

函数的返回类型中{}的目的是什么?

为什么函数可以返回字符数组,而不能返回其他类型的数组?

为什么C ++函数模板在其签名中包含返回类型

具有不同返回类型的函数指针C

如何从C函数中返回多个类型?

C#中函数的动态返回类型

C ++中的函数继承和返回类型

C中的函数返回类型冲突

C ++中构造函数的返回类型

从python中的函数返回后,指向浮点数的C类型指针发生变化

为什么我的gcc允许此空函数具有指针返回类型?

为什么我不能从该函数返回通用类型T?