看c++ template 里面说对于具有基类的类模板
自身使用名称x不一定等于this->x。即使X是从基类继承得到的
标准中声明:非依赖性名称不会在依赖型基类中查找
给了下面这个例子说,运行会出错
但是我在VC2005和GCC下运行都没错
郁闷中
#include <iostream>
//class base and class Derived
template<typename T>
class base
{
public:
void exit();
};
template<typename T>
void base<T>::exit()
{
std::cout<<"base"<<std::endl;
}
template<typename T>
class Derived:base<T>
{
public:
void foo()
{
exit();
}
};
//main.cpp
#include "base.h"
void main(void)
{
Derived<int> b;
b.foo();
}