模板成员问题
Template Membership Problems?
本文关键字:成员问题 更新时间:2023-10-16
当我尝试编译时,我得到以下代码的错误:
-
'isEmpty':不是'_Stack'的成员
-
编译类模板成员函数void QueueS::enqueue(const T &)时出错
#include <iostream> #include <stack> using namespace std; template <class T> class _Stack : public stack<T> { public: T pop(){ T tmp=stack::top(); stack::pop(); return tmp; } }; template <class T> class QueueS { public: QueueS(){} bool isEmpty() const{ } void enqueue(const T& el){ while (!output.isEmpty()) { input.push(ouput.pop()); } input.push(el); } private: _Stack<T> input; _Stack<T> output; };
你想做什么?这不起作用,因为isempty是类_stack的成员函数。第一个问题可以通过在_Stack类中添加函数isEmpty来解决。
一样:
#include <iostream>
#include <stack>
using namespace std;
template <class T>
class _Stack : public stack<T>
{
public:
T pop(){
T tmp=stack::top();
stack::pop();
return tmp;
}
bool isEmpty() const{
return stack::empty();
}
};
template <class T>
class QueueS {
public:
QueueS(){}
bool isEmpty() const{
}
void enqueue(const T& el){
while( !output.isEmpty()) {
input.push(output.pop());
}
input.push(el);
}
private:
_Stack<T> input;
_Stack<T> output;
};
int main()
{
_Stack<int> sk;
sk.isEmpty();
QueueS<int> qu;
qu.enqueue(4);
return 1;
}
相关文章:
- 静态数据成员的问题-修复链接错误会导致编译器错误
- constexpr构造函数需要常量成员函数时出现问题
- 使用静态成员声明类时遇到问题
- 尝试将向量初始化为类成员时出现问题
- 当成员值从指针更改为非指针时,C++常量问题
- 常量公共成员有什么问题?
- 修改C++结构的特征成员时出现问题
- 标准对此指向成员函数类型模板参数有何说明?是我的代码有误,还是 MSVS 16.6 有问题?
- 成员函数中的迭代器出现问题
- 为什么在分配给成员变量之前获取unique_ptr的返回是一个问题?
- 没有'str'成员在 GCC 和 Clang 'std::basic_ostream<char>',但 MSVC 没有问题
- 关于在成员重载中使用 std::move() 的问题
- 在C++中实现类似 python "map"函数的问题:调用类成员函数
- 消除 C++ 中的菱形问题以访问顶级成员
- 使用 Swig 在成员中包装具有互斥锁的 C++ 类时出现问题
- (2 问题)"类"类型重新定义(即使 #pragma 一次),以及静态函数内的静态成员对象初始化?
- OpenCV C++ Mat 类行和列 - 它们是成员变量(和相关问题)吗?
- 奇怪的C++访问私人成员问题
- 模板成员问题
- Windows编程:WNDCLASS结构:hIcon成员问题