Aqu*_*irl 4 c++ templates template-specialization
我确实阅读了一些相关的主题,但问题仍然不明确:
#include <stdio.h>
#include <vector>
#include <iostream>
template <> class stack <int>
{
public:
std :: vector <int> stackVector;
};
Run Code Online (Sandbox Code Playgroud)
编译错误:
templateSpecializ.cpp:5: error: ‘stack’ is not a template
templateSpecializ.cpp:6: error: explicit specialization of non-template ‘stack’
Run Code Online (Sandbox Code Playgroud)
从这个链接:coderSource.net
我错过了一些观点吗?我觉得我有.我甚至试图在那里定义函数,但这没有用.
小智 7
这是一个名为stack的模板的模板特化.堆栈没有在那些头文件中定义.如果要定义新模板类,必须先定义基本案例
template<typename T>
class stack
{
//implementation goes here
};
template<>
class stack<int>
{
public:
std::vector<int> stackVector;
};
Run Code Online (Sandbox Code Playgroud)
如果您只想为int定义堆栈而不是为您可以使用的每种类型定义堆栈
template<typename T> class stack;
template<>
class stack<int>
{
public:
std::vector<int> stackVector;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7905 次 |
| 最近记录: |