首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++代码错哪了

2013-12-04 
c++代码哪里错了#include iostream#include string#include vector#include mapusing namespace s

c++代码哪里错了
#include <iostream>
#include <string>
#include <vector>
#include <map>

using namespace std;

vector<string> & boys_names()
{
   static bool first = true;
   static vector<string> hidden;
   if (first)
   {
      first = false;
      hidden.push_back("Adam   ");
      hidden.push_back("Bert   ");
      hidden.push_back("Chet   ");
      hidden.push_back("David  ");
      hidden.push_back("Ethan  ");
      hidden.push_back("Frank  ");
      hidden.push_back("George ");
      hidden.push_back("Howard ");
      hidden.push_back("Irving ");
      hidden.push_back("John   ");
      hidden.push_back("Kenneth");
      hidden.push_back("Lincon ");
      hidden.push_back("Mike   ");
      hidden.push_back("Nathan ");
      hidden.push_back("Oscar  ");
      hidden.push_back("Phillip");
      hidden.push_back("Quentin");
      hidden.push_back("Romeo  ");
      hidden.push_back("Sam    ");
      hidden.push_back("Tom    ");
      hidden.push_back("Uther  ");
      hidden.push_back("Vince  ");
      hidden.push_back("Waylon ");
      hidden.push_back("Xavier ");
      hidden.push_back("Yanzijia   ");
      hidden.push_back("xing  ");
   };
   return hidden;
};
vector<string> & girls_names()
{
   static bool first = true;
   static vector<string> hidden;
   if (first)
   {
      first = false;
      hidden.push_back("Ava     ");
      hidden.push_back("Beatrice");
      hidden.push_back("Chelsea ");
      hidden.push_back("Dayna   ");
      hidden.push_back("Ethel   ");
      hidden.push_back("Florence");
      hidden.push_back("Georgia ");
      hidden.push_back("Hannah  ");
      hidden.push_back("Irene   ");
      hidden.push_back("Jane    ");
      hidden.push_back("Katie   ");
      hidden.push_back("Lucy    ");
      hidden.push_back("Mary    ");
      hidden.push_back("Nancy   ");
      hidden.push_back("Olivia  ");
      hidden.push_back("Phillis ");
      hidden.push_back("Queenie ");
      hidden.push_back("Rachel  ");
      hidden.push_back("Samantha");
      hidden.push_back("Tonya   ");
      hidden.push_back("Ulna    ");
      hidden.push_back("Vivica  ");
      hidden.push_back("Wilma   ");
      hidden.push_back("Xenia   ");
      hidden.push_back("xiejunyi   ");
      hidden.push_back("Zhang   ");
   };
   return hidden;
};
int main()
{
   map<pair<int,int>, int> data;
   map<int, vector<int> boys_used;
   map<int, vector<int> girls_used;

   unsigned int count = 0;
   while ((data.size() < 78) && (++count < 1000000))
   {
      bool notgood = true;
      int girl = rand() % 26;
      int boy = rand() % 26;
      pair<int,int> match(boy,girl);
      //std::cout << ".";


      if ((boys_used[boy].size() < 3)
          && (girls_used[girl].size() < 3)
          && (data.find(match) == data.end()))
      {
         data[match] = (rand() % 50) + 5;
         boys_used[boy].push_back(girl);
         girls_used[girl].push_back(boy);
         std::cout << "!" << std::endl;
      };
   };
   std::cout << std::endl;
   vector<string> & B = boys_names();
   vector<string> & G = girls_names();
   unsigned int count2 = 0;
   for (auto iter = data.begin(); iter != data.end(); ++iter)
   {
      const pair<int,int> & match = iter->first;
      int value = iter->second;
      cout << B[match.first] << " " << G[match.second] << " " << value << "  \t";
      if ((++count % 3) == 0) cout << endl;
   };
   cout << endl;
   return 0;
}
   
[解决办法]

map<int, vector<int> boys_used;
map<int, vector<int> girls_used
改成:
map<int, vector<int>> boys_used;
map<int, vector<int>> girls_used;

[解决办法]
如果编译器不支持>>的话,最好写成
map<int, vector<int> > boys_used;
map<int, vector<int> > girls_used;
旧的编译器可能会把>>认为是操作符>>

热点排行