Я сделал конструктор копирования, и я пытаюсь инициализировать буфер того же размера, но я получаю сообщение об ошибке. Я ожидаю, что контейнер будет создан с тем же размером rhs с помощью функции size () в классе.
int_buffer::int_buffer(const int_buffer& rhs): ptr_begin(new int[rhs.size()]){
std::cout << "Copy Constructor running..." << '\n';
std::copy(rhs.begin(), rhs.end(), begin());
}
размер
size_t int_buffer::size(){
return ptr_end - ptr_begin;
}
Я получаю ошибку:
Объект имеет спецификаторы типа, которые не совместимы с функцией-членом тип объекта int_buffer :: size: const int_buffer.
РЕШЕНИЕ
size_t int_buffer::size() const{
return ptr_end - ptr_begin;
}
Решением моей проблемы было то, что моя функция размера не была константой.