Мне нужно считать элементы массива в конструкторе класса SegmentTree, следовательно необходимо как-то передать туда массив.
Код ниже выводит ошибку Types 'SegmentTree' and 'SegmentTree *' are not compatible
Что мне нужно сделать, чтобы все сработало?
#include <iostream>
#include <queue>
#include <algorithm>
using namespace std;
class SegmentTree{
private:
int tree[];
public:
SegmentTree(int array[], int length){
int size = (1 << (int(ceil(log2(length))) + 1)) - 1;
tree = new int[size];
}
};
int main(int argc, const char * argv[]) {
// insert code here...
int n;
cin >> n;
int a[n];
for (int i = 0; i < n; ++i) cin >> a[i];
SegmentTree tree = new SegmentTree(a, n);
}