我收到错误C2297:'*':非法,右操作数在这段代码中有'double *'类型:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double cx=0.5;
double**image_array;
image_array= new double*[5];
for (int i=0;i<5;i++)
{
image_array[i]= new double[5];
for(int j=0;j<5;j++)
{
image_array[i][j]=0;
}
}
for (int i=0;i<5;i++){
for(int j=0;j<5;j++)
{
int i=cx*image_array[i,j];
}
}
system("PAUSE");
return 0;
}
任何人都可以说出原因。我不能将double数组与double类型数据相乘吗?或者我还能做什么?
答案 0 :(得分:4)
image_array[i,j]
没有做你想做的事。您需要image_array[i][j]
代替。
答案 1 :(得分:1)
您的代码存在一些问题 - 清理格式,主要问题是您尝试索引image_array [i,j]。使用image_array [i] [j] - 这是对代码片段的有效解释,并进行了一些修改。
#include <iostream>
using namespace std;
int main()
{
double cx=0.5;
double**image_array;
image_array= new double*[5];
for (int i=0;i<5;i++) {
image_array[i]= new double[5];
for(int j=0;j<5;j++)
{
image_array[i][j]=i*5+j;
}
}
for (int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
double d=cx*image_array[i][j];
cout << d << "-";
}
cout << endl;
}
//system("PAUSE");
return 0;
}
您可以在此处查看示例输出:http://codepad.org/38r4CZ9W