-1
내가 그렇게하려고 :anon 사용. 네임 스페이스 함수. 네임 스페이스 범위
file.h
namespace {
void fun();
const bool nevermind = Register(fun);
}
file.cpp
namespace {
void fun() {
do_some_job();
}
}
연결 오류를 가졌어요. 함수 void fun()는 링커에서 찾을 수 없습니다. 나는 그렇게하려고하면
는 :
file.h
namespace {
void fun() {
do_some_job();
}
const bool nevermind = Register(fun);
}
모두 확인 간다.
첫 번째 사례는 어떻게 컴파일하나요? * .h 파일에서 함수 정의를 원하지 않습니다.
아닙니다. 동일한 번역 단위 내의 두 개의 이름없는 네임 스페이스는 다른 번역 단위에서 고유 한 동일한 이름을 가진 것으로 간주됩니다. 그래서 당신은'.cpp' 파일의 최상위에있는 이름없는 네임 스페이스에서 선언을 가질 수 있고, 아래쪽에있는 다른 것에있는 정의를 가질 수 있습니다. – BoBTFish
@BoBTFish : 좋습니다. 나를 고쳐 주셔서 고마워요! – villintehaspam