해결된 질문
작성
·
233
답변 1
0
안녕하세요
소스 코드에서 컴파일 에러가 났다고 문의가 들어온 경우는 처음입니다만, 원인을 생각해 보겠습니다.
아시다시피, 컴파일 에러는 컴파일러의 다양한 세팅을 모두 점검해 봐야 원인을 알 수 있습니다만,
현재 상황으로는 "beta" 라는 변수명, 함수명 에서, namespace conflict 가 난 상황으로 보입니다.
우선, 소스 코드 전체에서, "beta" 라는 이름의 변수를 사용하고 있는데,
C++ 함수 중에, std namespace 에 std::beta() 가 있긴 합니다만, 보통 namespace 설정으로, 충돌이 벌어지지는 않습니다.
혹시 C++ 컴파일러 버전이 낮으면, 예전 visual C++ compiler 등에서는 충돌이 벌어질 수 있습니다.
컴파일러를 버전 업 하거나, namespace 등의 컴파일러 세팅을 잘 점검해 볼 필요가 있을 겁니다.
현재 include path 에서 충돌이 날 만한 헤더 파일들을 제거하는 방법이 있고,
아니면, "beta" 라는 변수를 모두 "xxxbeta" 와 같이, 전혀 충돌이 나지 않을 함수/변수명으로 교체하면 될 겁니다.
전체적으로 컴파일러 쪽 문제로, name conflict 가 발생한 상황이므로,
namespace 설정을 체크해 보시거나, beta 라는 변수의 namespace를 완전히 분리하거나,
아예 beta 라는 변수의 이름을 변경하면 해결 될 것입니다.
감사합니다.