我最近遇到了一个关于在函数中使用变量的问题。在代码中,我有一个数组 was[n][m] 需要在一个函数中使用,但是编译器会报错。请告诉我如何解决问题。这是代码
#include <bits/stdc++.h>
using namespace std;
void search(int i, int j){
if (was[i][j]) cout << 1;
}
int main(){
int n, m;
cin >> n >> m;
int was[n][m];
was[0][0] = 1;
search(0, 0);
}
需要在 search() 函数中使用数组
嗯,是这样的:
1)您在数组声明中有错误。例如,这不适用于 MS Visual C++ 编译器。
2) 数组
was
在函数中本地声明,在函数int main
中search
不可用我的版本:
此外,您可以将 was 传递给函数以避免使用全局变量。
1)您好,您的函数“看不到”数组,因为 它在另一个函数 int main() 中。全局声明数组,即 在“使用命名空间 std;”之后。2)c++中静态数组的大小不能是变量值,只能是常量。