template<class T>
class mStack
{
private:
vector<T> a;
vector<T>::iterator top;
public:
void push(T);
T pop();
mStack();
void printStack();
};
Run Code Online (Sandbox Code Playgroud)
上面的类的代码没有被编译...为什么?问题是什么?编译器说"预期;高于顶部".
小智 12
你需要一个类型名称:
typename vector<T>::iterator top;
Run Code Online (Sandbox Code Playgroud)
这使编译器vector<T>确实真的是一种类型.有关此模板和其他模板的讨论,请参阅C++ FAQ.
| 归档时间: |
|
| 查看次数: |
252 次 |
| 最近记录: |