|
소스의 내용으로 봐서는,
_args[1] = (LPDISPATCH) /*[VT_DISPATCH:1]*/ (IPictureDisp* /*[C2]*/)Value;
이 라인을,
_args[1] = (LPDISPATCH) /*[VT_DISPATCH:1]*/ (::IPictureDisp* /*[C2]*/)Value;
혹은,
_args[1] = (LPDISPATCH) /*[VT_DISPATCH:1]*/ (Excel_2k::IPictureDisp* /*[C2]*/)Value;
이렇게 고치시면 될 겁니다.
중요한 것은 문법적으로 당연히 위의 두 라인이 다르다는 것입니다.
똑같은 이름의 IPictureDisp 두개중 어느걸 사용할 것인지를 지정하는 거니까요.
그런데 전역 네임스페이스(앞에 이름 없이 ::만 붙이는 경우)가 있을 경우, 전역 네임스페이스가 기본이고
그 외의 네임스페이스는 컴퍼넌트나 라이브러리 등을 설치해서 추가적으로 생긴 경우가 대부분입니다.
왜냐하면, 네임스페이스 이름 없이 전역으로 만들었다는 자체가 그 클래스의 설계자가 설계할 때
더 이상 추가적인 네임스페이스가 있다는 감안을 안했다는 얘기니까요.
그럼...
몰라요 님이 쓰신 글 :
: 감사합니다. 조금 더 알려주세요..
:
: [C++ Error] ImgeditLibCtl_TLB.h(842): E2015 Ambiguity between 'IPictureDisp' 의 에러 소스입니다.
:
: void __fastcall set_MouseIcon(IPictureDispPtr /*[VT_USERDEFINED:1]*/ Value)
: {
: _TDispID _dispid(/* MouseIcon */ DISPID(37));
: TAutoArgs<1> _args;
: _args[1] = (LPDISPATCH) /*[VT_DISPATCH:1]*/ (IPictureDisp* /*[C2]*/)Value; ===> 요기..
: OlePropertyPut(_dispid, _args);
: }
:
:
:
:
: 박지훈.임프 님이 쓰신 글 :
: : Ambiguity 에러는 두개 이상의 네임스페이스에 같은 아이덴티파이어, 그러니까 변수나 함수 이름이 있으며
: : 그넘을 사용할 때 네임스페이스를 지정하지 않으면 발생합니다.
: : 보여주신 에러메시지의 증상을 보면 Buttons 네임스페이스 Excel_2k 네임스페이스 사이에 같은 이름의
: : 아이덴티파이어가 많이 있군요.
: : 여기서 에러가 난 소스(주로 헤더 파일들이네요)을 열어서 해당 라인의 아이덴티파이어를 쓰실 때
: : 네임스페이스를 앞에 붙여주세요.
: : 예를 들어, FlatUtilitys.hpp 내에서 에러가 난 부분이라면 아마도 표준 Buttons 네임스페이스일 것이므로,
: : Buttons:: 이렇게 앞에 붙여주면 됩니다. (에러메시지가 난 부분의 소스라인을 보여주셨으면 쉽게 설명할텐데요.)
: :
: : 그럼...
: :
: :
: : 몰라요 님이 쓰신 글 :
: : : 몰라요 님이 쓰신 글 :
: : : : flat 컴포넌트와 Excel Automation을 같이 쓰면 error
: : : : 컴파일시 Ambiguity error가 납니다.
: : : :
: : : : 게시판에서 네임스페이스를 써서 해결하라는 걸 읽었습니다.
: : : : 하지만 어디를 어떻게 고쳐줘야 할지 모르겠습니다.
: : : :
: : : : 초보입니다. 자세한 설명 부탁드립니다.
: : : :
: : : : C++ Error] FlatUtilitys.hpp(77): E2015 Ambiguity between 'Buttons' and 'Excel_2k::Buttons'
: : : : [C++ Error] TFlatButtonUnit.hpp(60): E2015 Ambiguity between 'Buttons' and 'Excel_2k::Buttons'
: : : : [C++ Error] TFlatButtonUnit.hpp(74): E2015 Ambiguity between 'Buttons' and 'Excel_2k::Buttons'
: : : : [C++ Error] TFlatButtonUnit.hpp(100): E2015 Ambiguity between 'Buttons' and 'Excel_2k::Buttons'
: : : : [C++ Error] TFlatButtonUnit.hpp(147): E2015 Ambiguity between 'Buttons' and 'Excel_2k::Buttons'
: : : : [C++ Error] ImgeditLibCtl_TLB.h(833): E2015 Ambiguity between 'IPictureDisp' and 'Excel_2k::IPictureDisp'
: : : : [C++ Error] ImgeditLibCtl_TLB.h(842): E2015 Ambiguity between 'IPictureDisp' and 'Excel_2k::IPictureDisp'
: : : : [C++ Error] ImgeditLibCtl_TLB.h(2408): E2015 Ambiguity between 'IPictureDisp' and 'Excel_2k::IPictureDisp'
: : : : [C++ Error] ImgeditLibCtl_TLB.h(2417): E2015 Ambiguity between 'IPictureDisp' and 'Excel_2k::IPictureDisp'
: : : : [C++ Error] ImgeditLibCtl_TLB.h(2424): E2015 Ambiguity between 'IPictureDisp' and 'Excel_2k::IPictureDisp'
: : : : [C++ Error] ImgeditLibCtl_TLB.h(2433): E2015 Ambiguity between 'IPictureDisp' and 'Excel_2k::IPictureDisp'
: : : : [C++ Error] ImgeditLibCtl_TLB.h(2440): E2015 Ambiguity between 'IPictureDisp' and 'Excel_2k::IPictureDisp'
: : : : [C++ Error] ImgeditLibCtl_TLB.h(2449): E2015 Ambiguity between 'IPictureDisp' and 'Excel_2k::IPictureDisp'
: : : :
|