더북(TheBook)

이러한 에러 메시지로 언어와 해당 기능을 자세히 알 수 있어 견고한 웹 애플리케이션을 구축하는 데 도움이 된다. 두 문제로 일부 에러가 발생했으며, 다른 에러는 동일한 실수로 인한 것이므로 한 가지만 수정하면 다른 것도 해결된다.

언제나 먼저 표시된 에러부터 살펴보는 것이 가장 좋다. 이 에러가 나중에 나온 에러의 원인이 될 수도 있기 때문이다. 첫 번째 문제를 보고 어떻게 해결할 수 있는지 살펴보자.

코드 2-5 첫 번째 컴파일 에러

    --> src/main.rs:27:20
       |
    27 |     let question = Question::new(
       |                    ^^^^^^^^^^^^^
    28 |         "1",
       |         --- expected struct `QuestionId`, found `&str`

여기에는 두 문제가 있다. 먼저 &str 대신 사용자 정의 QuestionId 타입을 전달해야 한다. 코드 2-3의 구조체 정의대로라면 &str 대신 String을 캡슐화해야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.