декларация несовместима

Понимаю, что ошибка скорее всего где-то в написании функции, но я честно говоря, перепробовал разные варианты написания, остановился на том, который вроде бы работает в других cpp файлах моего кода, но не в этом, возможно из-за того, что пытаюсь работать с массивом

Все это нужно для написания массива с динамическим количеством ячеек. В коде, который брал за основу в объявлении переменной массива Arr функций использовались указатели *, но я лично не увидел в них смысла и убрал, ошибка есть как с ними, так и без.

cpp

#include "newscreen.hpp"

void newscreen::Create(unsigned char Arr[], const unsigned char N){   //error1
Arr = new unsigned char [N];                                         
}

void newscreen::Delete(unsigned char Arr){
delete[]Arr;                                                          //error3
}

void newscreen::Fill(unsigned char Arr, const unsigned char N, unsigned char valuein){
Arr[N] = valuein;                                                     //error4
}

error1 : declaration of incompatible with "void newscreen::Create(unsigned char, unsigned char)" (declared at line 59 of "C:\Documents and Settings...\SRC\newscreen.hpp"

полагаю, что остальные ошибки - следствие предыдущей, но на всякий случай напишу

error3 : expression must have pointer type

error4 : expression must have pointer-to-object type

hpp

#ifndef __newscreen_HPP__
#define __newscreen_HPP__

class newscreen{
public:
void Create(unsigned char, const unsigned char);   //line 59
void Delete(unsigned char);
void Fill(unsigned char, const unsigned char, unsigned char);
};

#endif

Ответы (0 шт):