Reading C++ 模板:完整指南 http://www.amazon.co.uk/Templates-Complete-Guide-David-Vandevoorde/dp/0201734842它说
请注意,模板不能被声明
在一个函数中
它不会对本书或外部资源中的任何其他章节进行解释和/或交叉引用。
有人可以帮忙解释一下吗?本书后面可能会对此进行解释,但还没有。如果早点解释的话,我一定是错过了。
Example:
int main()
{
class DummyClass // This compiles ok
{
int object;
};
template <typename T> // compile error "expected primary-expression before "template""
class DummyTemplate
{
T object;
};
return 0;
}
我也不明白 gcc 的错误消息。错误消息显示:
expected primary-expression before "template"
该问题可能与模板的历史实现方式有关:早期的实现技术(有些至今仍在使用)要求模板中的所有符号都具有外部链接。 (实例化是通过在单独的文件中生成等效代码来完成的。)并且在函数内部定义的名称永远不会有链接,并且不能在定义它们的范围之外引用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)