Header.h:1:9: warning: #pragma once in main file [enabled by default]

 #pragma once

         ^

definition.cpp: In member function 'std::shared_ptr<Square> Square::newSquare(std::shared_ptr<Square>)':

definition.cpp:53:10: error: 'find' is not a member of 'std'

      if (std::find(addedSquare->getPoint(it->first).begin(), addedSquare->getPoint(it->first).end(),

          ^

definition.cpp:56:35: error: 'make_unique' is not a member of 'std'

       overlappingPoints.push_back(std::make_unique<Point>(it->first, it2->getPointY()));

                                   ^

definition.cpp:56:57: error: expected primary-expression before '>' token

       overlappingPoints.push_back(std::make_unique<Point>(it->first, it2->getPointY()));

                                                         ^

In file included from c:\mingw\include\c++\4.8.3\vector:60:0,

                 from Header.h:2:

c:\mingw\include\c++\4.8.3\bits\stl_algobase.h: In instantiation of 'static _OI std::__copy_move<true, false, std::random_access_iterator_tag>::__copy_m(_II, _II, _OI) [with _II = Point*; _OI = Point*]':

c:\mingw\include\c++\4.8.3\bits\stl_algobase.h:390:70:   required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = true; _II = Point*; _OI = Point*]'

c:\mingw\include\c++\4.8.3\bits\stl_algobase.h:428:38:   required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = true; _II = __gnu_cxx::__normal_iterator<Point*, std::vector<Point> >; _OI = __gnu_cxx::__normal_iterator<Point*, std::vector<Point> >]'

c:\mingw\include\c++\4.8.3\bits\stl_algobase.h:492:47:   required from '_OI std::move(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<Point*, std::vector<Point> >; _OI = __gnu_cxx::__normal_iterator<Point*, std::vector<Point> >]'

c:\mingw\include\c++\4.8.3\bits\vector.tcc:138:2:   required from 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(std::vector<_Tp, _Alloc>::iterator) [with _Tp = Point; _Alloc = std::allocator<Point>; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<Point*, std::vector<Point> >; typename std::_Vector_base<_Tp, _Alloc>::pointer = Point*]'

definition.cpp:30:19:   required from here

c:\mingw\include\c++\4.8.3\bits\stl_algobase.h:354:18: error: use of deleted function 'Point& Point::operator=(Point&&)'

        *__result = std::move(*__first);

                  ^

Header.h:8:7: note: 'Point& Point::operator=(Point&&)' is implicitly deleted because the default definition would be ill-formed:

 class Point

       ^

Header.h:8:7: error: non-static const member 'const int Point::x', can't use default assignment operator

Header.h:8:7: error: non-static const member 'const int Point::y', can't use default assignment operator





VS 디버거가 STL에서는 힘을 못 써서 gcc 로 해봤는데 잘 못 읽겠음...

저 맨 밑에 Point& Point::operator= 부분이 지금 문제인데,

어디부터가 어디가 저거에 관한 에러 설명인지를 모르겠음


그리고 혹시 저 에러 아는 사람 있으면 설명좀... ㅠㅠ