【问题标题】:Having Error in Stack Concept [closed]堆栈概念有错误[关闭]
【发布时间】:2018-08-13 15:27:11
【问题描述】:
    #include <iostream>
using namespace std;

struct ArrayStack
{
    int top;
    int capacity;
    int *array;
};

 ArrayStack* createStack(int cap)
{
    ArrayStack *stack=new ArrayStack();
    stack->capacity=cap;
    stack->array= new int[stack->capacity];
    return stack;
}
int isFull(ArrayStack *stack)
{
    if(stack->top>=stack->capacity-1)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
int isEmpty(ArrayStack *stack)
{
    if(stack->top<0)
    {
        return 1;
    }
    else
    {
        return 0; 
    }
}

void push(ArrayStack *stack, int item)
{
    if(!isFull(stack))
    {
        stack->top += 1;
        stack->array[stack->top]=item;
    }
    else
    {
        cout<<"Sorry Stack is Full ! iteam cannot be store"<<endl;
    }
}
int pop(ArrayStack *stack)
{
    int item;
    if(isEmpty(stack))
    {
        cout<<"Sorry stack is Empty"<<endl;
        return -1;
    }
    else
    {
        item=stack->array[stack->top];
        stack->top--;
        return item;
    }
}

int main()
{

    return 0;
}

我在 Dev-C++ 中遇到这个错误:$(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)

在 Visual Studio 中我遇到了这个错误:

错误 3 错误 LNK1169:找到一个或多个多重定义符号 H:\study\programs\data_structure\Data_struchers_inC++\Debug\Data_struchers_inC++.exe 1 1 Data_struchers_inC++

【问题讨论】:

  • 您的编译器还会告诉您哪些符号。使用输出窗口,而不是错误列表。
  • 不能用给定的例子重现。这是所有的代码吗?确保 IDE 不会帮助尝试链接一些扭曲实验遗留下来的陈旧代码。

标签: c++ c++11 visual-c++ c++14 dev-c++


【解决方案1】:

您发布的代码编译良好,变量或结构很可能已经在您包含的头文件中。尝试使用std::stack 来很好地实现该概念。

【讨论】:

    猜你喜欢
    • 2021-04-29
    • 2020-12-24
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 2014-04-01
    • 2017-05-16
    • 2013-06-19
    相关资源
    最近更新 更多