강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

박승혁님의 프로필 이미지
박승혁

작성한 질문수

홍정모의 따라하며 배우는 C++

13.4 함수 템플릿 특수화

print() defintion을 cpp파일로 옮긴 후 실행했을 때 Link 에러나 발생합니다

작성

·

388

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

답변 1

1

안녕하세요!

main 함수 내용만 주셨는데 Storage.h 와 Storage.cpp 내용도 필요할 것 같습니다. 주석에 대한 부분은 뭘 지우고 뭘 실행해야하는지 모르겠네요..! 구체적인 설명 좀 더 부탁드립니다..ㅠㅠ 감사합니다.

우선 링크를 참고해주시겠어요? 질문자님과 동일한 질문이네요!  https://stackoverflow.com/questions/30821356/multiple-definition-first-defined-here-errors 구글에 검색해보니 흔한 에러인 것 같아서 한번 검색해보셔도 좋을 것 같아요! 

박승혁님의 프로필 이미지
박승혁
질문자

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

안녕하세요!

아 문제점 알겠네요.

#include <storage.cpp> 를 하셔서 그렇습니다.

cpp 파일은 include 하는거 아니에요..!

박승혁님의 프로필 이미지
박승혁

작성한 질문수

질문하기