【发布时间】:2016-04-03 09:35:04
【问题描述】:
我知道已经提出过此类问题,但没有一个解决方案可以帮助我解决问题。 当从键盘按下一个键时,我想计算矩阵元素的总和,但程序给了我下一个错误:
main.cpp|6|error: 'j' was not declared in this scope|
main.cpp|13|error: 'a' was not declared in this scope|
main.cpp|19|error: 'a' was not declared in this scope|
我的程序是:
#include <iostream>
using namespace std;
int main()
{
int a[i][j],i,j,s=0,n;
char x;
cout<<"n=";
cin>>n;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"Type:"<<x;
if(x=='1')
{
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
s=s+a[i][j];
cout<<s;
cout<<"bla bla bla";
}
return 0;
}
怎么了?变量是在程序开始时声明的。提前致谢!
【问题讨论】:
-
您以错误的顺序声明它们:
int i,j,a[i][j],s=0,n;VLA 不是标准 C++ BTW,而且您声明它的方式毫无用处。 -
这甚至不是一个合适的 VLA。