-3
//myheader.h
namespace abc{
int func(int x) { return 10 + x;}
inline int callfunc(int a){ return func(a); }
}
//global.h
int func(int x){ return 10 + x; }
, 해결되지 및 인라인 함수가 지금 어떤 장소에서 호출되지 않은 경우에도, 그것은 func(int x)
에 대한 모호성을 해결하기 위해 오류를 반환합니다. 인라인 함수가 이미 namespace abc
에있는 기존 정의를 사용하지 않는 이유는 무엇입니까?인라인 기능은 모호한 코드를 컴파일 위의 예에서
''inline' 함수는 호출되지 않아도 여전히 컴파일됩니다. * "현재 인라인 함수가 호출되지 않은 경우에도 오류를 반환합니다."* 오해의 여지가있는'inline' 키워드는 않습니다. 해당 기능에 대한 ODR (One Definition Rule)을 억제하는 것만이 보장됩니다. 다른 모든 동작은 컴파일러에 따라 다릅니다. 또한 여기서 제시 한 코드로는 문제를 재현하기에 충분하지 않습니다. ([나를 위해 일한다] (http://ideone.com/ATfldv).) – cdhowie
오류가 {return abc :: func (a); } –
현재 네임 스페이스에 이미있는 함수 정의에서 모호성을 해결하지 않는 이유는 무엇입니까? ? – Srikan