2015-11-24 34 views
-3

我想在C++中做一個兔子育種程序。我一直在這條線的週期下得到一個錯誤......使用多個向量,並試圖push_back

RabbitsM.push_back(Rabbit()); 

我需要能夠把兔子是否女性或男性和什麼顏色他們。所以我在想的是,我製作了兩個矢量(男性和女性),我想在矢量中有4個插槽來獲得後代的顏色(棕色,白色,黑色和斑點)。我不斷收到的錯誤...

Severity Code Description Project File Line 
Error (active) no instance of overloaded function "std::vector<_Ty, _Alloc>::push_back [with _Ty=float, _Alloc=std::allocator<float>]" matches the argument list 

這裏是我的源代碼

class Rabbit { 


int main() 
{ 
    for (int i = 0; i < 20; i++) 
    { 

     int rabbits = 5; 
     vector<float> RabbitsM; 
     vector<float> RabbitsF; 

     int sex = rand() % 2 + 1; 
     if (sex == 1) 
     { 
      int color = rand() % 5; 
      if (color == 1)//brown 
      { 
       RabbitsM.push_back(Rabbit()); 
      } 
      else if (color == 2)//black 
      { 
       RabbitsM.push_back(Rabbit()); 

      } 
      else if (color == 3)//white 
      { 
       RabbitsM.push_back(Rabbit()); 

      } 
      else if (color == 4)//spotted 
      { 
       RabbitsM.push_back(Rabbit()); 

      } 


     } 
     else 
     { 
      int color = rand() % 5 + 1; 
      int color = rand() % 5; 
      if (color == 1)//brown 
      { 
       RabbitsF.push_back(Rabbit()); 
      } 
      else if (color == 2)//black 
      { 
       RabbitsF.push_back(Rabbit()); 

      } 
      else if (color == 3)//white 
      { 
       RabbitsF.push_back(Rabbit()); 

      } 
      else if (color == 4)//spotted 
      { 
       RabbitsF.push_back(Rabbit()); 

      } 
     } 
    } 
} 

} 有人可以幫我!

+1

你是不是想把兔子放在花車的矢量中? –

+0

請同時添加您的'RabbitsM'和'Rabbit'聲明 – Tas

+0

以下是我的源代碼。往上看。 –

回答

0

正如@James Root在評論中指出的那樣,您正嘗試將Rabbit添加到std::vector<float>。你需要改變你的std::vector是一個std::vector<Rabbit>,然後你就可以添加Rabbit對他們說:

vector<Rabbit> RabbitsM; 
vector<Rabbit> RabbitsF; 
RabbitsM.push_back(Rabbit()); 
+0

謝謝你,我補充說,現在需要的是錯誤遙遠,但我得到一個新的......嚴重\t代碼\t說明\t項目\t文件\t線 錯誤\t LNK1561 \t入口點必須定義和我有一個主其是我在網上看到的信息。 –

+0

@TaraMallakJohnson你有你的兔子類的主要_inside_。嘗試把它放在外面。 – Cebtenzzre

+0

@ZirconiumHacker謝謝! –

1

通常情況下,你想要做的是增加性別和顏色的屬性(成員變量)的Rabbit類和存儲所有兔子在一個集合vector<Rabbit>。正如在其他答案中已經提到的,這也將解決這個問題,試圖將Rabbit放入float集合中。