是否存在不允许嵌套函数定义的技术原因?

时间:2019-10-22 19:15:35

标签: c++ function

为什么C ++不允许这样的内容:

int foo(int x) {
    void bar(int x) { return x*x;}
    return bar(x);
}

免责声明:我并不是在要求禁止它的理由。我们可以在函数(尤其是函子)以及C ++ 11 lambdas中定义类,所以实际上我看不到需要它。

但是,我想知道是否存在某些技术限制/问题会阻止它。会在语法上造成歧义吗?我看不到的其他问题?还是答案可能很简单:不允许,因为没有必要?

0 个答案:

没有答案