template를 사용하는 클래스의 상속문제 입니다.
글쓴이: xboyz / 작성시간: 수, 2006/11/08 - 2:55오전
class a{
public:
int a1;
};
template
class b : public a{
};
template
class c : public b{
public:
print(){
cout a1 endl;
}
};
이런식으로 클래스를 선언하고 컴파일을 하면
g++ 3.3버전에서는 아무런 에러 없이 컴파일이 되지만
3.4이후 버전 4.0까지 모두 컴파일을 하면
'a1' was not declared in this scope라는 에러가 발생하네요
template으로 선언하지 않을 경우 아무런 문제가 없습니다.
상속을 생각했을때 문제가 발생하지 않아야 정상이 아닌가 생각이 드는데요
Forums:
vistual stuido 6.0 에서는
vistual stuido 6.0 에서는 문제 없는데..
g++ 4.12도 문제 생기네요
해결방법 좀 알려주세요.
늘써왔던거라서.. 당연히 되는줄 알았는데..
g++에서 안되니.. 좀 당황스럽고..
그동안 windows에서 잘 써왔던 class 들이 무용 지물이 되버려서
난감합니다.
-------------------------------------------
진실을 모르는 것은 어둡고 깊은 산에 혼자 있는 것과 같다.
어둡고 깊은산에 혼자 있어도 두렵지 않다면,
나는 이미 진실을 알고 있는 것이다.
-------------------------------------------
진실을 모르는 것은 어둡고 깊은 산에 혼자 있는 것과 같다.
어둡고 깊은산에 혼자 있어도 두렵지 않다면, 나는 이미 진실을 알고 있는 것이다.
코드의 일부가
코드의 일부가 정상적으로 표시 되지 않네요.
게시판 사용법 메뉴얼을 참고해서 코드를 완벽하게 올려주시면 도움 드리기가 더 수월할 듯 합니다.
여기 해결책이
여기 해결책이 있네요 ^^
http://kldp.org/node/70425
-------------------------------------------
진실을 모르는 것은 어둡고 깊은 산에 혼자 있는 것과 같다.
어둡고 깊은산에 혼자 있어도 두렵지 않다면,
나는 이미 진실을 알고 있는 것이다.
-------------------------------------------
진실을 모르는 것은 어둡고 깊은 산에 혼자 있는 것과 같다.
어둡고 깊은산에 혼자 있어도 두렵지 않다면, 나는 이미 진실을 알고 있는 것이다.
댓글 달기