D
Size: a a a
D
q
const std::vector <std::unique_ptr<DEntitiesAbstraction>>& DReportRepository::GetAll() const {
std::vector <std::unique_ptr<DEntitiesAbstraction>>& currReports;
for (std::size_t i = 0; i < m_CurrEntities.size(); i++) {
if (dynamic_cast<DReport>(m_CurrEntities[i])) {
currReports.push_back(m_CurrEntities[i]);
}
}
}
MK
const std::vector <std::unique_ptr<DEntitiesAbstraction>>& DReportRepository::GetAll() const {
std::vector <std::unique_ptr<DEntitiesAbstraction>>& currReports;
for (std::size_t i = 0; i < m_CurrEntities.size(); i++) {
if (dynamic_cast<DReport>(m_CurrEntities[i])) {
currReports.push_back(m_CurrEntities[i]);
}
}
}
MK
const std::vector <std::unique_ptr<DEntitiesAbstraction>>& DReportRepository::GetAll() const {
std::vector <std::unique_ptr<DEntitiesAbstraction>>& currReports;
for (std::size_t i = 0; i < m_CurrEntities.size(); i++) {
if (dynamic_cast<DReport>(m_CurrEntities[i])) {
currReports.push_back(m_CurrEntities[i]);
}
}
}
q
LA
q
q
if (dynamic_cast<DReport*>(m_CurrEntities[i].get()))
q
const std::vector <std::unique_ptr<DEntitiesAbstraction>>& DReportRepository::GetAll() const {Поправил, но все же выдает ошибку непонятную:
std::vector <std::unique_ptr<DEntitiesAbstraction>>& currReports;
for (std::size_t i = 0; i < m_CurrEntities.size(); i++) {
if (dynamic_cast<DReport*>(m_CurrEntities[i].get())) {
currReports.push_back(m_CurrEntities[i]);
}
}
return currReports;
}
/usr/include/c++/9/ext/new_allocator.h:145:20: error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = DEntitiesAbstraction; _Dp = std::default_delete<DEntitiesAbstraction>]’
MK
const std::vector <std::unique_ptr<DEntitiesAbstraction>>& DReportRepository::GetAll() const {Поправил, но все же выдает ошибку непонятную:
std::vector <std::unique_ptr<DEntitiesAbstraction>>& currReports;
for (std::size_t i = 0; i < m_CurrEntities.size(); i++) {
if (dynamic_cast<DReport*>(m_CurrEntities[i].get())) {
currReports.push_back(m_CurrEntities[i]);
}
}
return currReports;
}
/usr/include/c++/9/ext/new_allocator.h:145:20: error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = DEntitiesAbstraction; _Dp = std::default_delete<DEntitiesAbstraction>]’
LA
const std::vector <std::unique_ptr<DEntitiesAbstraction>>& DReportRepository::GetAll() const {Поправил, но все же выдает ошибку непонятную:
std::vector <std::unique_ptr<DEntitiesAbstraction>>& currReports;
for (std::size_t i = 0; i < m_CurrEntities.size(); i++) {
if (dynamic_cast<DReport*>(m_CurrEntities[i].get())) {
currReports.push_back(m_CurrEntities[i]);
}
}
return currReports;
}
/usr/include/c++/9/ext/new_allocator.h:145:20: error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = DEntitiesAbstraction; _Dp = std::default_delete<DEntitiesAbstraction>]’
MK
const std::vector <std::unique_ptr<DEntitiesAbstraction>>& DReportRepository::GetAll() const {Поправил, но все же выдает ошибку непонятную:
std::vector <std::unique_ptr<DEntitiesAbstraction>>& currReports;
for (std::size_t i = 0; i < m_CurrEntities.size(); i++) {
if (dynamic_cast<DReport*>(m_CurrEntities[i].get())) {
currReports.push_back(m_CurrEntities[i]);
}
}
return currReports;
}
/usr/include/c++/9/ext/new_allocator.h:145:20: error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = DEntitiesAbstraction; _Dp = std::default_delete<DEntitiesAbstraction>]’
q
q
LA
q
currReports.push_back(move(m_CurrEntities[i]));
q
LA
std::move
q
q
std::vector <std::unique_ptr<DEntitiesAbstraction>>& DReportRepository::GetAll() {Ну в общем, я убрал консты с обеих сторон, теперь получил какую-то непонятную кашу, связанную уже с сами кастованием
std::vector <std::unique_ptr<DEntitiesAbstraction>> currReports;
for (std::size_t i = 0; i < m_CurrEntities.size(); i++) {
if (dynamic_cast<DReport*>(m_CurrEntities[i].get())) {
currReports.push_back(std::move(m_CurrEntities[i]));
}
}
return currReports;
}
error: cannot dynamic_cast ‘(&((DReportRepository*)this)->DReportRepository::<anonymous>.DRepositoriesAbstraction::m_CurrEntities.std::vector<std::unique_ptr<DEntitiesAbstraction> >::operator[](i))->std::unique_ptr<DEntitiesAbstraction>::get()’ (of type ‘using pointer = using pointer = using type = class DEntitiesAbstraction*’ {aka ‘class DEntitiesAbstraction*’}) to type ‘class DReport*’ (source type is not polymorphic)
17 | if (dynamic_cast<DReport*>(m_CurrEntities[i].get())) {