关于C++模板继承的注意点

如另一篇文章里所说:
error: there are no arguments to ‘size‘ that depend on a template parameter, so a declaration of ‘si_qq_26189301的博客-****博客

我在使用编写Stack类模板的时候,继承了自定义的Vector模板类。
然而在编译的时候出错了。

编译

在编译的时候,一开始使用的VS的编译器,运行正常,没有问题。

当换成gnu的编译器时,编译出错了。
完整错误信息如下:
关于C++模板继承的注意点

百思不得其解。看前面的说明是缺少模板实参?

看到后面有个说明:
关于C++模板继承的注意点
即 用this->push_back() 代替 push_back()

原来,在使用模板继承的时候,如子类中有调用父类的成员函数和变量的情况,则需要用this来调用,或者使用using声明,否则会导致在G++ 上无法编译通过,错误提示会有如上错误信息。

修改后,调用父类Vector的函数和成员时,都加上了 this-> ,编译通过,运行正常。
关于C++模板继承的注意点