어떤 이유로 든이 클래스에서이 2 차원 벡터 크기를 조정할 수 없습니다. 당신의 도움을 주셔서 감사합니다!2 차원 벡터 크기 조정 - 오류
..
Map::Map(const unsigned int& w,
const unsigned int& h,
const unsigned int& s)
: width(w), height(h), size(s)
{
squares.resize(width);
for (unsigned int i = 0; i < width; ++i)
{
squares[i].resize(height); // error here
for (unsigned int j = 0; j < height; ++j)
{
squares[i][j] = Square(sf::Vector2f(i * size, j * size));
}
}
}
std::vector<std::vector<Square>> squares;
..
일부 오류 메시지 :
C : \와 Mingw 빈 \ .. \ lib 디렉토리 \의 gcc \ mingw32 \ 4.6.2 \는 \ C++ \ 비트 \ stl_uninitialized.h을 포함 | 481 | static void std :: __ uninitialized_default_n_1 < TrivialValueType> :: _uninit_default_n (_ForwardIterator = _Size) [_ForwardIterator = Square, _Size = 부호없는 정수, bool _TrivialValueType = false]
c : \ mingw \ bin .. \ lib \ gcc \ mingw32 \ 4.6.2 \ include \ C++ \ bits \ stl_uninitialized.h | 529 | 무한 std :: __ uninitialized_default_n (_ForwardIterator, _Size) [_ForwardIterator = Square *, _Size = unsigned int]로 초기화합니다.
스퀘어에는 기본 생성자가 있습니까? – Peter
중첩 벡터 대신 boost :: multi_array 사용을 고려하십시오. – aryjczyk
예, 기본 생성자가 있습니다. Square (const sf :: Vector2f & pos); – user1429101