[완료] C++에 리스트 내에 리스트를 넣을 수 있나요???

isanghan의 이미지

std::list<std::list<int32_t>> aList;

혹은

std::list<int32_t[]> aList;

이런식으로 리스트 내부에

리스트 혹은 배열을 넣을 필요가 있는데

이런식은 컴파일 에러가 발생하더군요..

이럴때는 어떤방식으로 만드는게 좋을까요????

kukyakya의 이미지

연산자 우선순위 문제로

std::list<std::list<int32_t> > aList;

로 >와 > 사이에 공백을 하나 넣으셔야 컴파일이 될 거예요.

아니면

typedef std::list<int32_t> int32_t_list;
std::list<int32_t_list> aList;

라고 하셔도 될 듯.

isanghan의 이미지

std::list&lt; std::list&lt;int32_t&gt; &gt; aList;

말씀데로 이렇게 처리했습니다...

답변 감사합니다.
--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--
우분투로 조금씩 공부하고 있는 초보입니다

--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--
N년째 초보입니다

ifree의 이미지

첫번째 표현은 될 것 같은데요.
>> 사이를 떼어서 해 보심이.
두 번째는 배열 크기가 확정되지 않으면 안 될 듯.

이 보다는 리스트를 멤버로 하는 클라스를 만들고 이들의 리스트를 만드는게 보기 좋을 것 같네요.

template < typename T >
class MyList
{    
    ...
    list < T > *myList;
};
 
int main()
{
    ...
 
    list< MyList < int > > Lists;
 
    ...
 
}
isanghan의 이미지

답변주신분 모두 감사합니다..
덕분에 해결했어요..

--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--
우분투로 조금씩 공부하고 있는 초보입니다

--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--
N년째 초보입니다

klara의 이미지

리스트와 배열은 자료구조가 다르기때문에, 첫번째와 두번째가 둘다 컴파일된다고 해도, 의도하는 바는 전혀 다른 코드가 됩니다.
두번째 선언과 비슷한것은 벡터의 리스트(std::list<std::vector<int> >)입니다.