У вас большое количество мелких проблем. Чтобы начать перегрузку <<
, вы должны #include <iostream>
В SortedArray.h
вам не хватает <<
в:
friend std::ostream& operator<< (std::ostream& out, const SortedArray& sA);
В SortedArray.c
, у вас есть нефункционирующие if
at:
if(size==capacity); // remove the ';'
isFull()
expand()
и find()
не являются функциями-членами класса неклассового типа arr
. Вам просто нужно:
if (isFull())
expand();
и
int index=find(val);
Ваш тест для if (arr[i]=val)
является сравнением, а не присваиванием, вам нужно:
if(arr[i] == val)
Наконец , чтобы передать const SortedArray& sA
в вашей перегрузке <<
, тогда sA.getSize()
должно быть постоянным, например, как в заголовке, так и в источнике вам нужно:
int getSize() const;
и
int SortedArray::getSize() const
{
return size;
}
Если я их все вспомнил, то теперь вы сможете компилировать без предупреждения. Если у вас все еще есть проблемы, просто добавьте комментарий, и я буду рад помочь вам в дальнейшем.