Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. char randChar()
  2. {
  3.     return 'a' + rand() % 26;
  4. }
  5.  
  6. string randString(int maxLen = 20)
  7. {
  8.     size_t len = rand() % maxLen;
  9.  
  10.     string result(len, ' ');
  11.     std::generate_n(result.begin(), len, randChar);
  12.  
  13.     return result;
  14. }
  15. // это компилится
  16.  
  17. //ниже не компилится ( с ошибкой:
  18. /* /usr/include/c++/4.7/bits/stl_algo.h: In instantiation of ‘_OIter std::generate_n(_OIter, _Size, _Generator) [with  _OIter = __gnu_cxx::__normal_iterator<std::basic_string<char>*, std::vector<std::basic_string<char> > >; _Size = long unsigned int; _Generator = std::basic_string<char> (*)(int)]’:
  19. main.cpp:63:50:   required from here
  20. /usr/include/c++/4.7/bits/stl_algo.h:5113:2: error: too few arguments to function */
  21.  
  22. vector<string> genRandomStrings(int maxSize)
  23. {
  24.     size_t n = rand() % maxSize;
  25.  
  26.     vector<string> result(n, "");
  27.     std::generate_n(result.begin(), n, randString);
  28.     //result[0] = randString();
  29.  
  30.     return result;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement