2013-04-13 80 views
0

我試圖初始化一個字符串數組時遇到困難。我正在處理一個具有不同方法的類:一個是爲數組充電,另一個是爲了消除數組的元素等等......我需要在類中的每個方法中使用相同的數組。在類C構造函數中初始化Dev C中的字符串數組

事情是,我需要模擬數組(隊列)並顯示它們的元素,因爲它們被添加到隊列或從隊列中刪除,並且我嘗試初始化數組以顯示任何內容而不是隨機顯示字符。

這裏是什麼,我試圖做的代碼...

class Queue 
{ 
    public: 
     char array[3][6]; //array of 3 positions holding up to 6 characters each 
     int front, rear, max; 

     Queue() 
     { 
      front=0; 
      rear=0; 
      max=3; 
      array={"","",""}; //trying to initialize to blank spaces, here's the issue! 
     } 

     void add_element() 
     { } 

     void delete_element() 
     { } 

     void print_on_screen() 
     { } 
    }; 
    main() 
    { } 

我已用一名維字符數組,在進入每一個3個位置的單號工作,但實際需要它與多於一個字符一起工作。

+0

假設C++ 03,http://stackoverflow.com/questions/2409819/c-constructor-initializer-for-arrays?rq=1(和更多在此頁上的相關列中找到) – chris

+0

實際上並沒有幫助:/我在發佈之前閱讀了一些建議,但他們初始化了一維數組...我試圖初始化一個二維數組 – PAT

+0

事實仍然是,您無法初始化C中的數組數據成員++ 03。你在使用C++ 11嗎? – chris

回答

0
char array[3][6] 

是二維陣列字符的。此

array={"","",""}; 

試圖初始化的尺寸3的一維陣列的。

´a´"a"是不同的東西。第一個是字符。第二個是字符串。

如果你要初始化字符數組到一些具體的事情,那麼你可以這樣做,這樣

char array[3][3] = {{'a',' ','a'}, {'a','a','a'},{'a','a','a'}}; 
//      ^^^ 
//      blank space 

但是請記住,初始化一個char空格是不一樣的初始化一個int 0 0是int的默認值。這就是爲什麼當構建東西時通常將整數初始化爲0的原因。表示他們仍然有默認值。

我想你應該初始化爲零。喜歡這個。

 { 
     front=0; 
     rear=0; 
     max=3; 
     array[3][6] = {{0}}; 
    //    ^^^^ 
    } 

最後""不是空白。這一個是" "

+0

感謝您的回答和建議......只是嘗試初始化這種方式(零),但它也不工作:/ – PAT

+0

@PAT很高興幫助:) – 2013-04-13 00:27:39

相關問題