-4
我试图通过以0.1为增量循环从0到1来生成网格。代码运行良好,当我用一个整数递增,例如从0到10以1为增量,但我无法理解这是什么错误。C++错误错误:数组下标无效类型'double [10] [10] [double]'
#include <iostream>
using namespace std;
int main()
{
double u[10][10];
double dx=0.1, i, j;
for(i=0;i<=1;i+=dx)
for(j=0;j<=1;j+=dx)
{
u[i][j]=i; // this line gives an error
}
}
而你的问题是,究竟是什么? '我'和'J'是双打。你不能用double来索引一个数组。下一个问题,请......显示的代码也有另一个bug。两个循环都使用'i'。 –
数组索引是整数。你不能使用双精度来代替整数来索引数组。显然,你不能声明'double dx = 0.1,i,j;'。您在标题中包含的错误消息以简明的语言告诉您。学习阅读信息中的词语 - 它们有意义。他们不在那里只是占用屏幕上的空间。 –
修正了第二个循环是j。如果我使用整数递增,循环将永远运行。 i + dx = i为整数。 – Nick