为什么 C++ 不允许传递数组的引用?

问题描述 投票:0回答:1

我们的讲座幻灯片提到,以下代码在 C++ 中是不允许的,编译器会抛出错误:

void fun(int& arr[])

但是为什么呢?

我问了我们的教练,但他们只是说“它被定义为非法”并告诉我记住它。有什么历史原因吗?

c++ pass-by-reference
1个回答
0
投票

这是允许的,但语法很难:

void fun(int(& arr)[N]) {
}

务必使用类型别名或

std::array
,它具有许多安全性和兼容性优势。

© www.soinside.com 2019 - 2024. All rights reserved.