audrn31   4년 전

c++ vector를 잘 몰라서 질문드립니다. vector<vector<string> >을 코드와 같이 다룰 수 없나요?? 컴파일할 때 에러 메시지가 떠서요.. 

cannot pass objects of non-trivially-copyable type 'class std::basic_string' through '...'| 라고 뜨네요

저는 aaa 가출력되는 것을 바라는데, 뭐가 잘못된 것인지 모르겠습니다ㅠㅠ



solarmagic   4년 전

두 가지 문제점이 있습니다. 

1.member[1]이 없습니다.
2. std::string은 %s로 정상적으로 출력되지 않습니다. 

1의 해결책은 resize를 하거나, 처음 만들때부터 생성자를 통해 크기를 2 이상으로 하는겁니다.
2의 해결책은 iostream을 이용한 C++ style 입출력을 하거나, string의 멤버 함수인 c_str()을 호출해 C-style 문자열로 변환해서 출력하는겁니다.

subinium   4년 전

1. vector 크기가 초기화 되어 있지 않습니다. member(n) 등을 사용하여 크기를 초기화 해주세요.

2. string을 printf로 출력하기 위해서 .c_str() 을 사용하거나 cout을 이용한 출력을 살펴보면 될 것 같습니다.

audrn31   4년 전

오 두분 다 정말 감사합니다!! 도움이 많이 되었어요!

댓글을 작성하려면 로그인해야 합니다.