gpt4 book ai didi

c++ - 将二维数组传递给 C++ 中的函数时出错

转载 作者:行者123 更新时间:2023-11-28 01:19:46 27 4
gpt4 key购买 nike

当我将 dp 数组传递给函数时,函数解决了异常错误。

int n,k;
int solve(int n, int k, int dp[n+1][k+1])
{
// some code
}
int main(){
int t; cin>>t;
while(t--){
cin>>n;
cin>>k;
int dp[n+1][k+1];
memset(dp, -1,sizeof(dp));
cout<<solve(n,k,dp)<<endl;
}
return 0;
}

为什么这样错误:在“+”标记之前使用函数体外部的参数 int solve(int n, int k, int dp[n+1][k+1])我无法理解为什么会出现此错误

最佳答案

在 C++ 中,数组大小必须是编译时常量

这不是合法的 C++

int dp[n+1][k+1];

因为 nk 是变量而不是常量。

这不是合法的 C++

int solve(int n, int k, int dp[n+1][k+1]) 

出于完全相同的原因。

关于c++ - 将二维数组传递给 C++ 中的函数时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57030732/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com