當我通過數組的函數錯誤傳遞數組作爲函數參數
陣列我正在錯誤:int red_eachpix[MAX_PIX] = { 0 }
功能:
void sum_individualpix(int *pixels, int pixle) {
pixels[(pixle - 1)]++;
}
錯誤:錯誤C2664:'void sum_individualpix(int,int)':不能將參數1從'int [255]'轉換爲'int'
整個程序如下:
#define MAX_PIX 255
#define WIDTH 25
#define HEIGHT 25
void sum_individualpix(int , int); // I think the error is here
int main()
{
int X, Y, red, counter = 0;
int red_eachpix[MAX_PIX] = { 0 }, Red[WIDTH][HEIGHT] = { 0 };
long sum_red = 0;
in.open("basicval.txt");
if (in)
{
in >> X >> Y >> red; //Data is in form of: X Y B1(red pixel value)
while (!in.eof())
{
counter++;
sum_red += red;
Red[X][Y] = red;
sum_individualpix(red_eachpix, red); //Getting Error here
in >> X >> Y >> red;
}
double avg_red = (double)sum_red/counter;
cout << "Average Value for Red = " << avg_red << endl;
}
in.close();
getchar();
}
void sum_individualpix(int *pixels, int pixle) {
pixels[(pixle - 1)]++;
}
以防萬一有人想知道程序讀取的圖像的像素值,而圖像本身已轉換成ASCII值由程序
編輯:其實Red[WIDTH][HEIGHT]
& int X, Y, red, counter = 0;
不是一個錯誤。我不小心寫錯了。
該代碼沒有錯誤。粘貼整個事情,包括提供錯誤聲明/定義的函數。 – Pacha
@Pacha不真實!例如,在哪裏定義? –
@ g-makulik哦,還沒有看到。你是對的 – Pacha