Ранее я создал массив Dynami c и смог заставить его работать в моем основном файле. cpp, но для моего класса мне нужно создать его в файле .h и реализовать его в моем основном файле. и установите его емкость через функцию, затем верните, сколько элементов и емкость массива. Мне удалось установить емкость, но я получаю сообщения об ошибках "
Ошибка E0109 выражение, предшествующее круглым скобкам видимого вызова, должно иметь (указатель на) тип функции" и "Ошибка E0265 member" QuickSort :: емкость [с T = int] "".
Вот как выглядит код:
int main(int argc, char* argv[]) {
VS_MEM_CHECK;
fstream in(argv[1]);
fstream out(argv[2]);
string line;
QuickSort<int> *toBeSorted;
while (getline(in, line)) {
if (line.substr(0, 9) == "QuickSort") {
out << line << endl;
line = line.erase(0, 9);
istringstream iss(line);
int capacity;
iss >> capacity;
toBeSorted->Quicksort(0, capacity);
}
else if (line.substr(0, 8) == "Capacity") {
out << line << endl;
out << toBeSorted->capacity() << endl;
}
else if (line.substr(0, 5) == "Clear") {
out << line << endl;
out << toBeSorted->size() << endl;
}
}
return 0;
}
Функции, которые не работают:
size_t capacity() const {
return capactiy;
}
size_t size() const {
return size;
}
Закрытые переменные, конструктор / деструктор, функции size () иacity ()
template<typename T>
class QuickSort : public QSInterface <T>{
private:
size_t capacity;
size_t size;
T* qsArray;
public:
QuickSort() {
size = 0;
capacity = 1;
}
Quicksort(size_t s, size_t c) {
size = s;
capacity = c;
qsArray = new T[capacity];
}
~QuickSort() {
delete[] qsArray;
}
size_t size() const {
return size;
}
size_t capacity() const {
return capactiy;
}
};