Opened 3 years ago

Closed 3 years ago

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

WW_vector Martynov lab_06

Reported by: martynov.maksim Owned by: Антон Филатов
Component: WW_vector Version: 2.0
Keywords: Cc:

Description


Change History (3)

comment:1 Changed 3 years ago by Антон Филатов

Type: ожидается проверкаожидаются исправления

не собирается

$ make
if [ ! -d "obj" ]; then mkdir "obj"; fi
g++ -c -std=c++17 -Wall -Wextra -Werror src/my_vector.cpp -o obj/my_vector.o -I include
src/my_vector.cpp: In copy constructor ‘MyVector::MyVector(const MyVector&)’:
src/my_vector.cpp:21:5: error: ‘memcpy’ was not declared in this scope
     memcpy(_data, another_vector._data, sizeof(int) * _sz);
     ^~~~~~
src/my_vector.cpp: In member function ‘MyVector& MyVector::operator=(const MyVector&)’:
src/my_vector.cpp:36:5: error: ‘memcpy’ was not declared in this scope
     memcpy(_data, another_vector._data, sizeof(int) * _sz);
     ^~~~~~
src/my_vector.cpp: In member function ‘void MyVector::reserve(std::size_t)’:
src/my_vector.cpp:62:5: error: ‘memcpy’ was not declared in this scope
     memcpy(new_data, _data, sizeof(int) * _cp);
     ^~~~~~
src/my_vector.cpp: In member function ‘void MyVector::resize(std::size_t)’:
src/my_vector.cpp:72:9: error: ‘memset’ was not declared in this scope
         memset(_data + _sz, 0, sizeof(int) * (new_size - _sz));
         ^~~~~~
src/my_vector.cpp:72:9: note: suggested alternative: ‘set’
         memset(_data + _sz, 0, sizeof(int) * (new_size - _sz));
         ^~~~~~
         set
src/my_vector.cpp: In member function ‘void MyVector::insert(std::size_t, int)’:
src/my_vector.cpp:84:5: error: ‘memmove’ was not declared in this scope
     memmove(_data + index + 1, _data + index, sizeof(int) * (_sz - index - 1));
     ^~~~~~~
src/my_vector.cpp: In member function ‘void MyVector::erase(std::size_t)’:
src/my_vector.cpp:90:5: error: ‘memmove’ was not declared in this scope
     memmove(_data + index, _data + index + 1, sizeof(int) * (_sz - index - 1));
     ^~~~~~~
Makefile:7: recipe for target 'obj/my_vector.o' failed
make: *** [obj/my_vector.o] Error 1

Если пофиксить, то тесты будут пройдены
Скорее всего ошибка возникает из-за того, что у вас мак. Поэтому не буду снимать баллы, но к следующей посылке пофиксите её, пожалуйста
Стиль:

  • Волшебная константа 2 в конструкторе
  • Кажется, что есть некоторая копипаста в контрукторе с параметрами и без параметров
  • точно ли нужен std::max в resize в вашей реализации?

Вопрос вне баллов: можно ли избежать копипасты в конструкторе копирования и операторе присваивания?

8,5/10

comment:2 Changed 3 years ago by martynov.maksim

Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:3 Changed 3 years ago by Антон Филатов

Resolution: задача сдана
Status: assignedclosed

10/10

Note: See TracTickets for help on using tickets.