首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >容器作为模板参数传递给class-template

容器作为模板参数传递给class-template
EN

Stack Overflow用户
提问于 2011-12-22 16:16:32
回答 2查看 118关注 0票数 0

我正在尝试创建一个简单的模板类,其中我创建了一个模板类的对象,提供了一个容器作为模板类型,根据我对模板的理解,这应该没有问题,应该像int或char一样处理,但它总是给我一个错误,说:

代码语言:javascript
复制
"template argument 1 is invalid"

下面是我遇到这个错误的那一行:

代码语言:javascript
复制
templateTest<(std::list<int>)> testingTheTemplate;

下面是template类的框架

代码语言:javascript
复制
template <class testType> class templateTest 
{
   /* use some iterators and print test data here */
};

这里我漏掉了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-22 16:21:08

您忘记了类定义后的分号:

代码语言:javascript
复制
template <class testType> class templateTest 
{

}; // <- semicolon

另外,将您的实例化声明为:

代码语言:javascript
复制
templateTest<std::list<int> > testingTheTemplate;
                       // ^^^ required space (C++03)

没有括号,注意中间的空格。

在C++11之前,<<>>被视为运算符。在这种情况下,您必须将它们分开。

票数 3
EN

Stack Overflow用户

发布于 2011-12-22 16:21:09

它应该是

C++03中的templateTest<std::list<int> > testingTheTemplate;

或C++11中的templateTest<std::list<int>> testingTheTemplate;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8601060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档