Opened 4 years ago

Closed 4 years ago

#1027 closed ожидается проверка (задача сдана)

WW #15

Reported by: Tarabonda German Owned by: Дмитрий Свиридкин
Component: WW_linq Version: 1.0
Keywords: Cc:

Description


Change History (1)

comment:1 Changed 4 years ago by Дмитрий Свиридкин

Resolution: задача сдана
Status: assignedclosed
  • /usr/bin/ld: /tmp/cc1DezZj.o:(.data.rel.ro._ZTVN4linq4impl10enumeratorIdEE[_ZTVN4linq4impl10enumeratorIdEE]+0x10): undefined reference to `linq::impl::enumerator<double>::operator*()'
    /usr/bin/ld: /tmp/cc1DezZj.o:(.data.rel.ro._ZTVN4linq4impl10enumeratorIdEE[_ZTVN4linq4impl10enumeratorIdEE]+0x18): undefined reference to `linq::impl::enumerator<double>::operator++()'
    /usr/bin/ld: /tmp/cc1DezZj.o:(.data.rel.ro._ZTVN4linq4impl10enumeratorIdEE[_ZTVN4linq4impl10enumeratorIdEE]+0x20): undefined reference to `linq::impl::enumerator<double>::operator bool(
    

Чисто виртуальные методы надо помечать = 0.

  • в select копирование функтора.
  • select будет применять функтор дважды, если, например, следующий итератор проверяет предикат
  • where(...).where(...) -- первый where будет проверять предикат дважды
  •     auto until_eq(const T& stop) {
            return until_enumerator<T, std::function<bool(T)>>(*this, [&](const T& cur){ return cur == stop; });
        }
    

Нельзя захватывать переданный элемент по ссылке.
Можно просто вызвать ранее определенный until и не указывать тип. А тут еще и лишнее преобразование к std::function


5 + 2.5

Note: See TracTickets for help on using tickets.