|
와우 진짜 되네요!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
정말 진심으로 감사드립니다 ㅠㅠㅠ이것때매 진짜 계속 고민했는데 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
어떻게 이렇게 정확하게ㅠㅠㅠ 암튼 감사합니다 얼굴도 못뵈었지만 정말 진심으로 감사드립니다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠ
빌더(TWx) 님이 쓰신 글 :
: Template 에서 타입으로 간주되는 의존적인 네임에 대해서는 'typename' 키워드를 명시적으로 지정해 주어야 하는
: C++ 랭귀지 스펙에 따르기 위해서... Visual Studio 2010 C++ 컴파일러가 수정 되었기 때문인 것으로 보여 지네요.
:
: 아래와 같이 'typename' 키워드를 명시적으로 지정해 보세요...
:
: template <class T>
: class gaga
: {
: ....
: typename haha<T>::A a;
:
: ....
: };
:
: ...
:
:
:
: 프로그래밍~! 님이 쓰신 글 :
: : 어려운 문제는 절대 아닌것 같은데 하루종일 해결이 안되네요 ㅠㅠ
: :
: : 어떤 내용이냐면
: :
: : enum1.h 에
: :
: : template<class T>
: : class haha{
: :
: : enum A 정의됨
: :
: : };
: :
: : 이런 내용이 있고
: :
: : enum2.h에는
: :
: : #include"enum1.h"
: : template<class T>
: : class gaga{
: :
: : haha에 정의된 enum형인 A형의 변수 a를 설정하려 함
: :
: : };
: :
: :
: : 여기서 "haha에 정의된 enum형인 A형의 변수 a를 설정하려 함"
: : 요부분이 문제인대요 ㅠㅠ
: : V.S 6.0에서는 haha<T>::A a; 로 쓰면 잘 돌아갔는데
: : V.S 2010에서는 이게 안돌아가네요 ㅠㅠㅜㅠㅠㅠ
: : 아예 haha<T>:: 를 하면 항상 나타나는 그 변수목록이 안떠요 (Intelisense: '사용할 수 있는 변수가 없습니다')
: :
: :
: : 혹시나 template이 문제인가 해서 template<class T>를 전부 지우고
: : haha::A a; 이렇게 시도해보면 또 잘 돌아가네요 V.S2010에서도..
: :
: : 혹시 아시는 분은 제발 도움 부탁드리옵니다 ㅠㅠ 중요한거라...ㅠㅠㅠㅠ
|