클래스 A가 있고
A.cpp A.h
메인함수 B가 있어서 이걸로 실행하는데
클래스랑 메인함수랑 둘다 같은 구조체를 사용하는데
base.h에 이 구조체를 넣어서 컴파일했더니 중복선언이라 뜨고
#ifndef 하면 메인함수쪽에서 찾을 수 없대요
클래스 A가 있고
A.cpp A.h
메인함수 B가 있어서 이걸로 실행하는데
클래스랑 메인함수랑 둘다 같은 구조체를 사용하는데
base.h에 이 구조체를 넣어서 컴파일했더니 중복선언이라 뜨고
#ifndef 하면 메인함수쪽에서 찾을 수 없대요
예?
java !!!!! 는 import 미만 잡
자바아님
g++ -c class.h class.cpp
g++ -c base.h main.cpp
g++ main.o class.o
에서 class.h 에서 base.h를 선언해서 구조체를 가져오는데
그래서 구조체를 중복선언하게되고 그래서 ifndef로 막았더니 main에서 해당 구조체를 읽어오질 못합니다
ifndef블록에 구조체 선언을 같이 묶어두면되지 않나여
네 그러니까 구조체 선언을 같이 묶으면 재정의 문제는 회피하지만
결국 main 함수에서 해당 헤더를 참조할 때 구조체를 읽어오지 못하는 웃긴 상황이 발생하는것이죠
엥? 뭔가 이상한데 그거 참
똑똑이 프갤여러분들과 함께 고민하니 해결됬습니다. 다른 부분에서 생기는 문제였군요
저도 뭔가 이상해서 다시 보니 5개의 구조체중 4개는 정상적으로 선언이 되더라구요
다른 부분에서 오타를 내서 생긴 문제였습니다
ㅇㅎ 글쿤여
ㅇㅇ//됬->됐 (되어 = 돼임) [리듬 맞춤법 봇♬]