如何在C ++中操作双数组数据?

时间:2011-04-13 02:35:47

标签: c++

我收到错误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类型数据相乘吗?或者我还能做什么?

2 个答案:

答案 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