在'['标记之前预期的不合格标识

wes*_*pga 9 c++ g++

我知道这个错误通常是出于语法错误,但我似乎无法发现此代码有任何问题.任何人都可以帮我指出来吗?以下是我得到的错误:

deli.cc:10:7:错误:在'['token int [] myCashierNums之前预期的unqualified-id; ^ deli.cc:11:7:错误:在'['token int [] myOrderNums之前预期的unqualified-id; ^

这是我在Ubuntu 14.04 64位上使用g ++编译的程序.

#include <iostream>
#include <stdlib.h>

using namespace std;

class SandwichBoard {
  //private:
    int myMaxOrders;
    int [] myCashierNums;
    int [] myOrderNums;

  //public:
    SandwichBoard (int maxOrders) {
      myMaxOrders = maxOrders;
      myCashierNums = new int [maxOrders];
      myOrderNums = new int [maxOrders];

      // All values initialized to -1
      for (int i = 0; i < maxOrders; i++){
        myCashierNums[i] = -1;
        myOrderNums[i] = -1;
      }
    }

    // For debugging purposes
    void printMyOrders() {
      for (int i = 0; i < maxOrders; i++){
        cout << "Cashier " << myCashierNums[i] << ", ";
        cout << "Order " << myOrderNums[i] << endl;
      }
    }

    int getMaxOrders () { return myMaxOrders; }

};

void cashier(void *in) {

}

void sandwich_maker(void *in) {

}

int main(int argc, char *argv[]) {

}
Run Code Online (Sandbox Code Playgroud)

Cin*_*out 23

这是C++,而不是Java!声明这样的数组:

int myCashierNums[1000];
int myOrderNums[1000];
Run Code Online (Sandbox Code Playgroud)

请注意,C++中的数组在编译时必须具有大小.在上面的例子中,它是1000.

  • 啊,我知道我最近一直在使用Java太多了.谢谢,我将采用TC的建议并使用std :: vector <int>,因为大小必须是动态的. (3认同)
  • 我不敢相信我做到了......谢谢你的回答,我会在我的电脑上敲打几个小时。这个答案已经很老了! (2认同)