декларация несовместима
Понимаю, что ошибка скорее всего где-то в написании функции, но я честно говоря, перепробовал разные варианты написания, остановился на том, который вроде бы работает в других 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