【发布时间】:2018-03-19 06:50:16
【问题描述】:
我想知道有什么方法可以避免在函数中提及数组的大小。下面是我的简单代码。每次我在 main 中创建一个数组时,我都必须更改函数 passbyref 的引用数组的大小。 非常感谢。
#include<iostream>
#include<string>
#include<iomanip>
#include<array>
using namespace std;
class GradeBook {
public:
void changevalues()
{
cout<<arr2[2]<<endl;
arr2[2]=2;
cout<<arr2[2]<<endl;
}
void passbyref(array<int,5>& refvar) //here 5 I have to mention myself
{
refvar[2]=2;
}
private:
array <int,5> arr2;
};
int main() {
array <int,5> grades1{1,1,1,1,1};
GradeBook obj1;
cout<<"grades[2] before change =" <<grades1[2]<<endl;
obj1.passbyref(grades1);
cout<<"grades[2] after change =" <<grades1[2];
}
【问题讨论】:
-
也许你想改用 std::vector。
-
使用模板参数作为长度,或者
auto