未在此范围内声明“ i”

时间:2018-11-24 16:47:02

标签: c++ arraylist data-structures stack

这是我对堆栈的编码声明,名为 s 和数组列表 word []

#include <iostream>
using namespace std; 

class STACK{ private: 
int top;
char word [5];

public:
    void createStack();
    void push(char newItem);
    void pop();
    char getStackTop();
    bool isEmpty();
    bool isFull();
};

int main ()
{
STACK s;
char word [5] = {'l', 'a',' b', 'e', 'l'};
s.createStack();
for (i=0; i<5; i++)

这是在[for]循环中未在此范围内声明[错误]'i'

  s.push(word[i]);



  int n = 0;
  while (!s.isEmpty()){
  if (s.getStackTop() !=word[n]) break;
  s.pop();
  n++;
 }

 if (n<4) 
 cout << "not a a mystery " << endl;
 else
 cout << "a mystery " << endl;
}

有人可以告诉我我所缺少的吗? 编辑:已经尝试声明但仍然没有用?我应该在班级还是班级中声明它?

1 个答案:

答案 0 :(得分:3)

这仅仅是因为一些语法错误。 您没有在for循环中声明变量i:

for (int i = 0; i < 5; i++)

这是固定版本:

https://pastebin.com/i5eABPkD