C++;:使main()中的数组在其他函数中可用 我试图创建一个C++程序,它存储许多与数值相关的名称,并且可以在输入名称时更改数值。我的问题是:如果我在主函数中创建了一个数组,它可以从另一个函数访问吗?如果是的话,应该怎么做
附加代码(它的一部分)C++;:使main()中的数组在其他函数中可用 我试图创建一个C++程序,它存储许多与数值相关的名称,并且可以在输入名称时更改数值。我的问题是:如果我在主函数中创建了一个数组,它可以从另一个函数访问吗?如果是的话,应该怎么做,c++,arrays,main,C++,Arrays,Main,附加代码(它的一部分) #包括 #include//required,因为输入\输出是从\到文件 #包括 使用名称空间std; int name_checker(字符串输入); int main() { int案例; cin>>病例; 字符串名称[案例];//这是数组。 int i=0; 而(i>名称[i]; i++; } } int name_checker(字符串输入); { //我希望存储在上面数组中的数据在这里可用。可能吗? } > P>你应该考虑使用类。 因此,可以将数组设为一个场(
#包括
#include//required,因为输入\输出是从\到文件
#包括
使用名称空间std;
int name_checker(字符串输入);
int main()
{
int案例;
cin>>病例;
字符串名称[案例];//这是数组。
int i=0;
而(i>名称[i];
i++;
}
}
int name_checker(字符串输入);
{
//我希望存储在上面数组中的数据在这里可用。可能吗?
}
<代码> > P>你应该考虑使用类。
因此,可以将数组设为一个场(如πάντα)ῥεῖ 建议您应该考虑使用向量)和NAMEY检查成员函数。 是的,可能的。将数组作为参数传递给函数。
将函数更改为-
int name_checker (string input[]);
并将数组传递给函数-
name_checker(names);
注意:更改函数中的值也会影响原始值。您可以将数组作为参数传递…您当然最好使用std::vector names(cases);
。并将函数签名更改为int name\u checker(const std::vector&input)
(注意,函数定义没有分号!)@πάνταῥεῖ : 谢谢。分号是一个输入错误。可能是因为您的建议与原始程序完全不同。传递std::vector
更简单、更安全。传递数组时,还必须传递数组的容量。是的,同意,vector更好,以节省内存。
name_checker(names);