【发布时间】:2020-11-13 12:07:50
【问题描述】:
如果我实现函数原型并在主函数之后定义它,这个程序可以正常工作。 为什么会这样?
#include <iostream>
using namespace std;
typedef unsigned short UShort;
main()
{
UShort length, breadth, TotalArea;
cout<<"Enter length and breadth";
cin>>length>>breadth;
UShort FindArea(UShort l, UShort b)
{
return l * b;
}
TotalArea = FindArea(length, breadth);
cout<<"Total Area is "<<TotalArea;
}
【问题讨论】:
-
我想有人可以提供一些历史解释 C 是如何开发的,它很难实现或类似的东西,但真的没有比“标准这么说”更好的答案了。
-
C++ 不允许在函数中定义函数。您可以改用 lambda。
-
可能“Jerry Coffin”的回答最接近回答您的问题:why wasn't the idea of nested functions, implemented in older c++ standard?
-
main必须具有显式返回类型int。当没有定义返回类型时,C++ 不支持隐式返回类型int。
标签: c++ visual-c++