인프런 커뮤니티 질문&답변
print() defintion을 cpp파일로 옮긴 후 실행했을 때 Link 에러나 발생합니다
작성
·
400
0
강의와 똑같이 진행했다고 생각했는데 어디서 문제가 발생했는지 모르겠네요..
온라인 컴파일러로 실행시켰을때도 아래와 같은 애러가 뜨네요 ㅠㅠ
Storage.cpp:(.text+0x0): multiple definition of `Storage::print()'
/tmp/ccGcctjd.o:main.cpp:(.text+0x0): first defined here
collect2: error: ld returned 1 exit status
제가 작성한 코드 아래에 주소 남깁니다 ㅠ
https://onlinegdb.com/AnTPCcmZC
퀴즈
71%나 틀려요. 한번 도전해보세요!
C++에서 템플릿을 사용하는 주된 이점은 무엇일까요?
런타임 성능을 크게 향상시킬 수 있습니다.
디버깅 과정이 자동화되어 오류가 줄어듭니다.
다양한 자료형에 대해 코드를 반복적으로 작성하는 것을 줄여줍니다.
메모리 사용량을 런타임에 최적화할 수 있습니다.
답변 1
1
안녕하세요!
main 함수 내용만 주셨는데 Storage.h 와 Storage.cpp 내용도 필요할 것 같습니다. 주석에 대한 부분은 뭘 지우고 뭘 실행해야하는지 모르겠네요..! 구체적인 설명 좀 더 부탁드립니다..ㅠㅠ 감사합니다.
우선 링크를 참고해주시겠어요? 질문자님과 동일한 질문이네요! https://stackoverflow.com/questions/30821356/multiple-definition-first-defined-here-errors 구글에 검색해보니 흔한 에러인 것 같아서 한번 검색해보셔도 좋을 것 같아요!






위 주소에 코드 위쪽 탭에 Storage.h 랑 Storage.cpp 탭에 드렸습니다.
주석부분은 다 지우셔도 됩니다ㅠㅠ 괜히 햇갈리게 적어놨네요