Language: C++

#include <iostream>
#include <vector>
using namespace std;

int main(){
  vector<bool> vec(3);
  int x =0;
  for(int i=0;i<3;i++){
  cin >> vec.at(i);
  if(vec.at(i)) x++;
  }

  cout << x <<endl;
  
  
return 0;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:9:7: error: no match for 'operator>>' (operand types are 'std::istream' {aka 'std::basic_istream<char>'} and 'std::vector<bool>::reference')
    9 |   cin >> vec.at(i);
      |   ~~~ ^~ ~~~~~~~~~
      |   |            |
      |   |            std::vector<bool>::reference
      |   std::istream {aka std::basic_istream<char>}
In file included from /usr/include/c++/14/iostream:42,
                 from a.cc:1:
/usr/include/c++/14/istream:170:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  170 |       operator>>(bool& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:170:7: note:   conversion of argument 1 would be ill-formed:
a.cc:9:16: error: cannot bind non-const lvalue reference of type 'bool&' to an rvalue of type 'bool'
    9 |   cin >> vec.at(i);
      |          ~~~~~~^~~
In file included from /usr/include/c++/14/vector:67,
                 from a.cc:2:
/usr/include/c++/14/bits/stl_bvector.h:99:5: note:   after user-defined conversion: 'std::_Bit_reference::operator bool() const'
   99 |     operator bool() const _GLIBCXX_NOEXCEPT
      |     ^~~~~~~~
/usr/include/c++/14/istream:174:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>]' (near match)
  174 |       operator>>(short& __n);
      |       ^~~~~~~~
/usr/include/c++/14/istream:174:7: note:   conversion of argument 1 would be ill-formed:
a.cc:9:16: error: cannot bind non-const lvalue reference of type 'short int&' to a value of type 'bool'
    9 |   cin >> vec.at(i);
      |          ~~~~~~^~~
/usr/include/c++/14/bits/stl_bvector.h:99:5: note:   after user-defined conversion: 'std::_Bit_reference::operator bool() const'
   99 |     operator bool() const _GLIBCXX_NOEXCEPT
      |     ^~~~~~~~
/usr/include/c++/14/istream:177:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  177 |       operator>>(unsigned short& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:177:7: note:   conversion of argument 1 would be ill-formed:
a.cc:9:16: error: cannot bind non-const lvalue reference of type 'short unsigned int&' to a value of type 'bool'
    9 |   cin >> vec.at(i);
      |          ~~~~~~^~~
/usr/include/c++/14/bits/stl_bvector.h:99:5: note:   after user-defined conversion: 'std::_Bit_reference::operator bool() const'
   99 |     operator bool() const _GLIBCXX_NOEXCEPT
      |     ^~~~~~~~
/usr/include/c++/14/istream:181:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>]' (near match)
  181 |       operator>>(int& __n);
      |       ^~~~~~~~
/usr/include/c++/14/istream:181:7: note:   conversion of argument 1 would be ill-formed:
a.cc:9:16: error: cannot bind non-const lvalue reference of type 'int&' to a value of type 'bool'
    9 |   cin >> vec.at(i);
      |          ~~~~~~^~~
/usr/include/c++/14/bits/stl_bvector.h:99:5: note:   after user-defined conversion: 'std::_Bit_reference::operator bool() const'
   99 |     operator bool() const _GLIBCXX_NOEXCEPT
      |     ^~~~~~~~
/usr/include/c++/14/istream:184:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  184 |       operator>>(unsigned int& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:184:7: note:   conversion of argument 1 would be ill-formed:
a.cc:9:16: error: cannot bind non-const lvalue reference of type 'unsigned int&' to a value of type 'bool'
    9 |   cin >> vec.at(i);
      |          ~~~~~~^~~
/usr/include/c++/14/bits/stl_bvector.h:99:5: note:   after user-defined conversion: 'std::_Bit_reference::operator bool() const'
   99 |     operator bool() const _GLIBCXX_NOEXCEPT
      |     ^~~~~~~~
/usr/include/c++/14/istream:188:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  188 |       operator>>(long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:188:7: note:   conversion of argument 1 would be ill-formed:
a.cc:9:16: error: cannot bind non-const lvalue reference of type 'long int&' to a value of type 'bool'
    9 |   cin >> vec.at(i);
      |          ~~~~~~^~~
/usr/include/c++/14/bits/stl_bvector.h:99:5: note:   after user-defined conversion: 'std::_Bit_reference::operator bool() const'
   99 |     operator bool() const _GLIBCXX_NOEXCEPT
      |     ^~~~~~~~
/usr/include/c++/14/istream:192:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  192 |       operator>>(unsigned long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:192:7: note:   conversion of argument 1 would be ill-formed:
a.cc:9:16: error: cannot bind non-const lvalue reference of type 'long unsigned int&' to a value of type 'bool'
    9 |   cin >> vec.at(i);
      |          ~~~~~~^~~
/usr/include/c++/14/bits/stl_bvector.h:99:5: note:   after user-defined conversion: 'std::_Bit_reference::operator bool() const'
   99 |     operator bool() const _GLIBCXX_NOEXCEPT
      |     ^~~~~~~~
/usr/include/c++/14/istream:199:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  199 |       operator>>(long long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:199:7: note:   conversion of argument 1 would be ill-formed:
a.cc:9:16: error: cannot bind non-const lvalue reference of type 'long long int&' to a value of type 'bool'
    9 |   cin >> vec.at(i);
      |          ~~~~~~^~~
/usr/include/c++/14/bits/stl_bvector.h:99:5: note:   after user-defined conversion: 'std::_Bit_reference::operator bool() const'
   99 |     operator bool() const _GLIBCXX_NOEXCEPT
      |     ^~~~~~~~
/usr/include/c++/14/istream:203:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  203 |       operator>>(unsigned long long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:203:7: note:   conversion of argument 1 would be ill-formed:
a.cc:9:16: error: cannot bind non-const lvalue reference of type 'long long unsigned int&' to a value of type 'bool'
    9 |   cin >> vec.at(i);
      |          ~~~~~~^~~
/usr/include/c++/14/bits/stl_bvector.h:99:5: note:   after user-defined conversion: 'std::_Bit_reference::operator bool() const'
   99 |     operator bool() const _GLIBCXX_NOEXCEPT
      |     ^~~~~~~~
/usr/include/c++/14/istream:219:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  219 |       operator>>(float& __f)
      |       ^~~~~~~~
/usr/include/c++/14/istream:219:7: note:   conversion of argument 1 would be ill-formed:
a.cc:9:16: error: cannot bind non-const lvalue reference of type 'float&' to a value of type 'bool'
    9 |   cin >> vec.at(i);
      |          ~~~~~~^~~
/usr/include/c++/14/bits/stl_bvector.h:99:5: note:   after user-defined conversion: 'std::_Bit_reference::operator bool() const'
   99 |     operator bool() const _GLIBCXX_NOEXCEPT
      |     ^~~~~~~~
/usr/include/c++/14/istream:223:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  223 |       operator>>(double& __f)
      |       ^~~~~~~~
/usr/include/c++/14/istream:223:7: note:   conversion of argument 1 would be ill-formed:
a.cc:9:16: error: cannot bind non-const lvalue reference of type 'double&' to a value of type 'bool'
    9 |   cin >> vec.at(i);
      |          ~~~~~~^~~
/usr/include/c++/14/bits/stl_bvector.h:99:5: note:   after user-defined conversion: 'std::_Bit_reference::operator bool() const'
   99 |     operator bool() const _GLIBCXX_NOEXCEPT
      |     ^~~~~~~~
/usr/include/c++/14/istream:227:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  227 |       operator>>(long double& __f)
      |       ^~~~~~~~
/usr/include/c++/14/istream:227:7: note:   conversion of argument 1 would be ill-formed:
a.cc:9:16: error: cannot bind non-const lvalue reference of type 'long double&' to a value of type 'bool'
    9 |   cin >> vec.at(i);
      |          ~~~~~~^~~
/usr/include/c++/14/bits/stl_bvector.h:99:5: note:   after user-defined conversion: 'std::_Bit_reference::operator bool() const'
   99 |     operator bool() const _GLIBCXX_NOEXCEPT
      |     ^~~~~~~~
a.cc:9:7: note: candidate: 'operator>>(int, int)' (built-in)
    9 |   cin >> vec.at(i);
      |   ~~~~^~~~~~~~~~~~
a.cc:9:7: note:   no known conversion for argument 1 from 'std::istream' {aka 'std::basic_istream<char>'} to 'int'
/usr/include/c++/14/istream:328:7: note: candidate: