title: How to fix "error: ‘_1’ was not declared in this scope"?
body: <p>I'm currently trying to bind a function to an algorithm I'm intending to use.</p>
  <pre><code>#include&lt;iostream&gt;
  #include&lt;vector&gt;
  #include&lt;algorithm&gt;
  
  using namespace std;
  
  int main(){
      vector&lt;int&gt; coll{1, 2, 3, 4, 5, 6};
  
      vector&lt;int&gt;::iterator pos;
      pos = find_if (coll.begin(), coll.end(), 
                      bind(greater&lt;int&gt;(),_1,3)); 
  
      return 0;
  }
  </code></pre>
  <p>and get this error feedback:</p>
  <pre><code>AlgoTesting.cpp: In function ‘int main()’:
  AlgoTesting.cpp:184:41: error: ‘_1’ was not declared in this scope
                       bind(greater&lt;int&gt;(),_1,3)); // criterion
                                           ^~
  AlgoTesting.cpp:184:41: note: suggested alternative:
  In file included from algostuff.hpp:15:0,
                   from AlgoTesting.cpp:5:
  /usr/include/c++/7/functional:275:34: note:   ‘std::placeholders::_1’
       extern const _Placeholder&lt;1&gt; _1;
                                    ^~
  </code></pre>
  <p>I'm struggling to understand what the error log means. Does anyone know what I'm missing here?</p>