【发布时间】:2019-12-25 08:58:36
【问题描述】:
来自 C++ 学院文档(在线课程):
return_type 描述了函数返回(传递)的结果类型(例如,我们期望 sine 函数将返回一个 float 类型的值,因为 int 数据在这种情况下完全不可用);您可以使用任何 C++ 类型作为 return_type,包括一个名为 void 的非常特殊的类型; void 类型的函数根本不返回任何结果;可以说,这样的功能可能有效果,但绝对没有效果; 如果省略 return_type,编译器会假定函数返回 int 类型的值
关于这个例子return_type function_name (parameters_list);
在这个例子中:
my_function(int x) {
return 4;
}
int main()
{
...
}
我收到以下错误:ISO C++ forbids declaration of 'my_function' with no type [-fpermissive]|
在这个例子中:
my_function(int); //Prototype
int main()
{
...
}
int my_function(int x)
{
return 4;
}
我收到以下错误:expected constructor, destructor, or type conversion before ';' token
我在 C++11 standard 第 192 页 - function declaration 中没有找到与我想知道的内容相关的内容(或者可能只是我不理解的事实)。
您能否解释一下什么时候可以省略 return_type?这是一个错误吗?还是一些旧版本的 C++?
【问题讨论】:
标签: c++ function function-prototypes