c++队列实现错误
C++ Queue Implementation Error
我想做一个基本的队列。我的头文件如下:
#ifndef Queue_h
#define Queue_h
/**
A simple Queue data structure
*/
template <class T>
class Queue{
public:
Queue(int s){
size = s > 0 && s < 1000 ? s : 10;
top = -1;
queuePtr = new T[size];
}
~Queue(){
delete[] queuePtr;
}
bool isEmpty(){
return top == -1;
}
bool isFull(){
return top == size - 1;
}
void push(const T){
if(!isFull()){
queuePtr[++top] = T;
}
}
T pop(){
if(!isEmpty()){
return queuePtr[top--];
}
}
private:
int size;
int top;
T* queuePtr;
};
#endif
我得到以下错误信息
Queue.h: In member function 'void Queue<T>::push(T)':
Queue.h:30: error: expected primary-expression before ';' token
我不确定为什么所示的表达式不被认为是主表达式。任何帮助或链接将不胜感激,谢谢提前!
您将类型(T
)视为变量。代码
void push(const T){
if(!isFull()){
queuePtr[++top] = T;
}
}
应该void push(const T& item){
if(!isFull()){
queuePtr[++top] = item;
}
}
之类的
相关文章:
- 在c++中实现LinkedList时,应出现未处理的错误
- 尝试使用继承和模板实现CRTP.Visual Studio正在生成编译器错误
- 在 c++ 中实现 Trie 时出现分段错误
- C++ 实现模板单例类时出现链接错误
- 内存错误低于在C++年实现埃拉托色尼筛分时的预期
- C++数组队列实现方法错误
- 实现 DFS 在较短的输入下工作正常,但在较大的输入下会抛出分段错误
- 分段 排序函数实现中的错误
- 尝试从头开始实现Leetcode的FizzBuzz多线程问题。收到"libc++abi.dylib: terminating"错误
- 使用 std::forward_list 返回错误的队列实现
- 在我的trie实现中出现分段错误
- 在 c++ 中实现链表时出现分段错误
- 比较迭代器会使程序崩溃,而不会在自定义气泡排序实现中出现错误
- 如何知道C2259 VS 2017错误未实现哪种方法?
- 筛子的埃拉托色尼错误实现
- BAD_ALLOC错误实现向量调整大小函数时
- 头文件中包含.cpp重新定义错误-实现通用堆栈
- 程序没有给出期望的输出.FIFO的错误实现
- 这是卡达内算法的错误实现吗?
- 双链表错误实现Deque