2015-10-22 50 views
0

我想讓我的程序通過一個數組並打印一個隨機問題。每個問題都有四個答案,我也試圖讓它打印出來。然而,當我試圖讓它爲所選擇的任意一個隨機問題提出具體的答案時,它就會發出一個錯誤。有任何想法嗎?調用C++中的數組成員來顯示到控制檯

if (choice == 1) 
     { 
      enum fields{ QUESTS, ANS_1, ANS_2, ANS_3, ANS_4, NUM_FIELDS }; 
      string QUEST[NUM_QUEST][NUM_FIELDS] = 
      { 
       { "What course is this?", "A)C++", "B)DID", "C)Intro to Game", "D)Yoga" }, 
       { "Who am I?", "A)Bill", "B)Nye", "C) 24601", "D)No one" }, 
       { "Are you actually reading this?", "A) Yes", "B)No", "C)Maybe", "D)Who wants to know?" }, 
       { "Will this program work?", "A)Of course it will!", "B)It might", "C)Are you kidding me?", "D)Gods only know." }, 
       { "Where would I rather be?", "A)Home", "B)Europe", "C)Anywhere but here", "D)All of the above" } 
      }; 
      srand(static_cast<unsigned int>(time(0))); 
      int randomQuest = (rand() % NUM_QUEST); 
      string question = QUEST[randomQuest][QUESTS]; 
      string print = question; 
      string printAns1 = QUEST[ANS_1]; 
      string printAns2 = QUEST[ANS_2]; 
      string printAns3 = QUEST[ANS_3]; 
      string printAns4 = QUEST[ANS_4]; 
     } 

任務[ANS_1]和其下的其他人有什麼錯誤。它告訴我 -

「沒有合適的構造存在,從轉換 「的std :: string [5]」 到 「的std :: basic_string的,性病::分配器>」

回答

0

string printAns1 = QUEST[ANS_1];

string printAns1 = array of strings

不工作,他們是不同類型的。string printAns1[] = array of stringsstring ans1 = QUEST[ANS1][0]; string ans2 = QUEST[ANS1][1];...

1

QUEST [ANS_1]不是一個字符串,它是一個指向像'string [5]'這樣的數組的指針。

Try:string printAns1 = QUEST [randomQuest] [ANS_1];

相關問題