2015-02-13 10 views
6

से पहले अपेक्षित अयोग्य आईडी- मुझे पता है कि यह त्रुटि आमतौर पर वाक्यविन्यास त्रुटियों के लिए है, लेकिन मुझे इस कोड के साथ कुछ भी गलत नहीं लगता है। क्या कोई मुझे इसे इंगित करने में मदद कर सकता है? यहाँ त्रुटियों मैं हो रही हैं:'[' टोकन

deli.cc:10:7: error: expected unqualified-id before ‘[’ token int [] myCashierNums; ^ deli.cc:11:7: error: expected unqualified-id before ‘[’ token int [] myOrderNums; ^

यहां कार्यक्रम मैं Ubuntu 14.04 64-बिट पर ++ जी का उपयोग कर संकलित है।

#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[]) { 

} 
+7

आप जावा के साथ सी ++ वाक्य रचना भ्रमित कर रहे हैं। – user4098326

+2

चूंकि आकार गतिशील प्रतीत होता है, इसलिए 'std :: vector ' बेहतर विकल्प है। –

उत्तर

18

यह सी ++ है, जावा नहीं! इस तरह प्रचार सरणियों:

int myCashierNums[1000]; 
int myOrderNums[1000]; 

कृपया ध्यान दें कि सी में सरणियों ++, संकलन समय पर आकार होना आवश्यक है। उपरोक्त उदाहरण में, यह है 1000

+3

आह, मुझे पता था कि मैं हाल ही में जावा का उपयोग कर रहा था। धन्यवाद, मैं टीसी की सलाह लेने जा रहा हूं और std :: vector का उपयोग कर रहा हूं क्योंकि आकार गतिशील होना चाहिए। – weskpga

2

संशोधित:

int myMaxOrders; 
int* myCashierNums; 
int* myOrderNums; 

ऐड:

~SandwichBoard() { 
    if (myMaxOrders) { 
     delete [] myCashierNums; 
     delete [] myOrderNums; 
    } 
}